Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么iOS中的类链搜索比XPath更快?_Python_Xpath_Automation_Appium Android_Appium Ios - Fatal编程技术网

Python 为什么iOS中的类链搜索比XPath更快?

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

我正在从事一个Appium项目,在iOS和Android中使用Python实现应用程序的自动化。我通常坚持使用XPath来搜索元素,但在iOS中,有一种奇妙的搜索机制称为
类链
,它允许您按元素的类进行搜索,例如
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树的大小,我可以发布一个更新。事实上,我问这个问题是因为我对它们之间的巨大差异感兴趣。