Python 为什么iOS中的类链搜索比XPath更快?
我正在从事一个Appium项目,在iOS和Android中使用Python实现应用程序的自动化。我通常坚持使用XPath来搜索元素,但在iOS中,有一种奇妙的搜索机制称为Python 为什么iOS中的类链搜索比XPath更快?,python,xpath,automation,appium-android,appium-ios,Python,Xpath,Automation,Appium Android,Appium Ios,我正在从事一个Appium项目,在iOS和Android中使用Python实现应用程序的自动化。我通常坚持使用XPath来搜索元素,但在iOS中,有一种奇妙的搜索机制称为类链,它允许您按元素的类进行搜索,例如xguielementtypestatictext搜索xguitest 所以我比较了XPath和类链搜索的性能,我发现类链的性能比XPath快很多,快7倍。使用类链,只需1秒就可以完成XPath 7秒的搜索 例如: 在name属性中简单搜索等于“Hello”的文本 XPath://XguiE
类链
,它允许您按元素的类进行搜索,例如xguielementtypestatictext
搜索xguitest
所以我比较了XPath和类链搜索的性能,我发现类链的性能比XPath快很多,快7倍。使用类链,只需1秒就可以完成XPath 7秒的搜索
例如:
在name
属性中简单搜索等于“Hello”的文本
XPath://XguiElementTypeStaticText[@name='Hello']
需要8.31秒
类链:**/xguielementtypestatictext['name==“Hello”]
需要2.17秒
显示速度差的视频
我想问一下,为什么他们的表现如此不同?或者这种性能差异仅限于Python?有趣的是,您正在搜索的XML文件有多大?并不是说我能回答这个问题,只有对这两种机制都有详细了解的人才能回答。但这两个搜索时间似乎都很慢,除非您搜索的是千兆字节。我实际上没有检查Appium生成的XML树的大小,我可以发布一个更新。事实上,我问这个问题是因为我对它们之间的巨大差异也很感兴趣?并不是说我能回答这个问题,只有对这两种机制都有详细了解的人才能回答。但这两个搜索时间似乎都很慢,除非您搜索的是千兆字节。我实际上没有检查Appium生成的XML树的大小,我可以发布一个更新。事实上,我问这个问题是因为我对它们之间的巨大差异感兴趣。