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
Android 无法使用xpath和Appium(robot框架)找到元素_Android_Xpath_Robotframework_Appium - Fatal编程技术网

Android 无法使用xpath和Appium(robot框架)找到元素

Android 无法使用xpath和Appium(robot框架)找到元素,android,xpath,robotframework,appium,Android,Xpath,Robotframework,Appium,我无法使用xpath识别元素。我尝试了不同类型的xpath,但无法识别它 我想识别下图所示的元素“Bills”。 我没有ID,所以我使用xpath。我使用了下面的XPath xpath=//android.app.ActionBar$Tab/TextView[@text='Bills']和xpath=//android.app.ActionBar$Tab/TextView[@text='Bills'] 请帮帮我。我在这里被打动了 由于您似乎没有任何其他具有相同属性的元素,如果您从xpath中删除

我无法使用xpath识别元素。我尝试了不同类型的xpath,但无法识别它

我想识别下图所示的元素“Bills”。 我没有ID,所以我使用xpath。我使用了下面的XPath

xpath=//android.app.ActionBar$Tab/TextView[@text='Bills']和xpath=//android.app.ActionBar$Tab/TextView[@text='Bills']

请帮帮我。我在这里被打动了


由于您似乎没有任何其他具有相同属性的元素,如果您从xpath中删除有问题的部分并尝试使用以下内容,则可能会起作用:

xpath=//TextView[@text='Bills']

在某些情况下,上面的xpath将不起作用。。它可以从它们的父元素开始,如下所示,例如:

Xpath=//android.widget.linerlayout[1]/android.widget.linerlayout[1]/android.widget.TextView[@text='Bills']
您应该为xpath使用每个选择器的“类”:

xpath=//android.widget.TextView[@text='Bills']
如果这不起作用,则意味着您应该在这个类前面添加一些以前的类(在更高的层次结构中),以使此xpath唯一。

使用以下方法:

xpath=(//android.widget.TextView[@text='Bills'])[1]

很明显,UI Automator查看器中有此元素的索引


注:组索引从1开始

经过进一步的探索,我知道这是因为其中一个节点使用了$(特殊字符)。有人知道如何处理这样的案件吗。注意:我尝试过使用返回斜杠。但这对我不起作用。你试过用“\`而不是一个反斜杠来逃避字符吗?记录中我有“\\”但我没有检查。。澄清一下:您是否尝试过用双反斜杠而不是单反斜杠来转义字符?从最佳编码实践的角度来看,这是一个糟糕的解决方案。我建议将这种实现作为最后的解决方案。