We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
脚本如下, dump页面元素:
from wda import USBClient c = USBClient() print(c.source())
页面如下:
脚本执行结果如下:
<?xml version="1.0" encoding="UTF-8"?> <XCUIElementTypeApplication type="XCUIElementTypeApplication" name=" " label=" " enabled="true" visible="true" accessible="false" x="0" y="0" width="812" height="375" index="0"> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="1"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="0"/> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="2"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="0"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="1"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="2"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="3"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="4"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="5"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="6"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="7"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="8"/> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="1125" height="2436" index="1"/> </XCUIElementTypeOther> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" name="SBSwitcherWindow:Main" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="3"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeScrollView type="XCUIElementTypeScrollView" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> <XCUIElementTypeOther type="XCUIElementTypeOther" name="AppSwitcherContentView" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="1"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" name="card:com.tencent.battle:sceneID:com.tencent.battle-default" label="Arashi" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="1"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeScrollView type="XCUIElementTypeScrollView" enabled="true" visible="false" accessible="false" x="-188" y="0" width="563" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeStatusBar type="XCUIElementTypeStatusBar" enabled="true" visible="false" accessible="false" x="-1" y="0" width="1" height="812" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="1"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-1" y="0" width="376" height="812" index="1"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="43" y="0" width="332" height="812" index="2"/> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeScrollView> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="2"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="4"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="-169" y="0" width="169" height="812" index="1"/> </XCUIElementTypeOther> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="5"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="375" y="0" width="169" height="812" index="1"/> </XCUIElementTypeOther> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="6"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="375" y="0" width="169" height="812" index="1"/> </XCUIElementTypeOther> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="true" accessible="false" x="0" y="0" width="375" height="812" index="7"> <XCUIElementTypeStatusBar type="XCUIElementTypeStatusBar" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="44" index="0"/> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="8"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="9"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="true" accessible="false" x="0" y="0" width="375" height="812" index="10"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="0"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="1"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="0" width="375" height="812" index="2"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="0" width="375" height="812" index="0"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="375" height="812" index="1"/> <XCUIElementTypeAlert type="XCUIElementTypeAlert" name="允许“Arashi”使用无线数据?" label="允许“Arashi”使用无线数据?" enabled="true" visible="true" accessible="false" x="62" y="271" width="230" height="270" index="2"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="62" y="271" width="230" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="62" y="271" width="230" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="62" y="271" width="230" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="62" y="271" width="230" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="62" y="271" width="230" height="270" index="0"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="62" y="271" width="230" height="270" index="1"/> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="62" y="271" width="230" height="270" index="1"> <XCUIElementTypeScrollView type="XCUIElementTypeScrollView" enabled="true" visible="true" accessible="false" x="62" y="271" width="97" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="62" y="271" width="97" height="270" index="0"> <XCUIElementTypeStaticText type="XCUIElementTypeStaticText" value="允许“Arashi”使用无线数据?" name="允许“Arashi”使用无线数据?" label="允许“Arashi”使用无线数据?" enabled="true" visible="true" accessible="true" x="82" y="287" width="21" height="238" index="0"/> <XCUIElementTypeStaticText type="XCUIElementTypeStaticText" value="关闭无线数据时,部分功能可能无法使用。" name="关闭无线数据时,部分功能可能无法使用。" label="关闭无线数据时,部分功能可能无法使用。" enabled="true" visible="true" accessible="true" x="106" y="287" width="32" height="238" index="1"/> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" value="0%" name="垂直滚动条, 1页" label="垂直滚动条, 1页" enabled="true" visible="true" accessible="false" x="62" y="274" width="97" height="30" index="1"/> <XCUIElementTypeOther type="XCUIElementTypeOther" value="0%" name="水平滚动条, 1页" label="水平滚动条, 1页" enabled="true" visible="true" accessible="false" x="125" y="271" width="31" height="270" index="2"/> </XCUIElementTypeScrollView> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="158" y="271" width="1" height="270" index="1"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="158" y="271" width="1" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="158" y="271" width="1" height="270" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeScrollView type="XCUIElementTypeScrollView" enabled="true" visible="true" accessible="false" x="159" y="271" width="133" height="270" index="2"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="159" y="271" width="133" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="159" y="271" width="133" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="159" y="271" width="44" height="270" index="0"> <XCUIElementTypeButton type="XCUIElementTypeButton" name="无线局域网与蜂窝网络" label="无线局域网与蜂窝网络" enabled="true" visible="true" accessible="true" x="159" y="271" width="44" height="270" index="0"/> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="203" y="271" width="1" height="270" index="1"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="203" y="271" width="1" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="203" y="271" width="1" height="270" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="203" y="271" width="45" height="270" index="2"> <XCUIElementTypeButton type="XCUIElementTypeButton" name="仅限无线局域网" label="仅限无线局域网" enabled="true" visible="true" accessible="true" x="203" y="271" width="45" height="270" index="0"/> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="247" y="271" width="1" height="270" index="3"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="247" y="271" width="1" height="270" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="247" y="271" width="1" height="270" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="247" y="271" width="45" height="270" index="4"> <XCUIElementTypeButton type="XCUIElementTypeButton" name="不允许" label="不允许" enabled="true" visible="true" accessible="true" x="247" y="271" width="45" height="270" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> <XCUIElementTypeOther type="XCUIElementTypeOther" value="0%" name="垂直滚动条, 1页" label="垂直滚动条, 1页" enabled="true" visible="true" accessible="false" x="159" y="274" width="133" height="30" index="1"/> <XCUIElementTypeOther type="XCUIElementTypeOther" value="0%" name="水平滚动条, 1页" label="水平滚动条, 1页" enabled="true" visible="true" accessible="false" x="258" y="271" width="31" height="270" index="2"/> </XCUIElementTypeScrollView> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeAlert> </XCUIElementTypeOther> </XCUIElementTypeWindow> </XCUIElementTypeApplication>
这里弹窗的x和y颠倒,对应的width和height也是颠倒的
x
y
width
height
The text was updated successfully, but these errors were encountered:
用以下方式得到的位置信息是正确的:
from wda import USBClient c = USBClient() pos = c(label='无线局域网与蜂窝网络').get() print(pos.bounds)
输出结果如下:
Rect(x=271, y=159, width=270, height=44)
这个source()获取的信息颠倒
source()
Sorry, something went wrong.
补充一下,可以拿一个游戏来测试,一般发生在游戏内。
No branches or pull requests
脚本如下, dump页面元素:
页面如下:
脚本执行结果如下:
这里弹窗的
x
和y
颠倒,对应的width
和height
也是颠倒的The text was updated successfully, but these errors were encountered: