Typescript 我无法理解如何在typerscript语言中定义xpath的语法 console.log(client.findElement(xpath,“/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/androidid.view.ViewGroup/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[1]/android.view.ViewGroup[1]/android.widget.TextView');

Typescript 我无法理解如何在typerscript语言中定义xpath的语法 console.log(client.findElement(xpath,“/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/androidid.view.ViewGroup/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[1]/android.view.ViewGroup[1]/android.widget.TextView');,typescript,react-native,xpath,automation,appium,Typescript,React Native,Xpath,Automation,Appium,看起来您在这里使用的是一个绝对XPath,它本身就很难阅读,并且容易进行脆弱的测试,因为这个路径可以在DOM中轻松更改 如果您想编写一个更易于阅读且不易中断的XPath,可以尝试使用带有/指示符的相对表示法。以下是一个示例: 您的起始(绝对)XPath: “/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/an

看起来您在这里使用的是一个
绝对XPath
,它本身就很难阅读,并且容易进行脆弱的测试,因为这个路径可以在DOM中轻松更改

如果您想编写一个更易于阅读且不易中断的XPath,可以尝试使用带有
/
指示符的相对表示法。以下是一个示例:

您的起始(绝对)XPath:

“/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[1]/android.view.ViewGroup[1]/android.widget.TextView'

您的新相对XPath:

//android.widget.ScrollView//android.widget.TextView

您还可以混合使用绝对XPath和相对XPath,如下所示:

//android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[1]/android.view.ViewGroup[1]/android.widget.TextView'

如果没有完整的页面源代码,我无法保证此XPath会工作。
/
表示法意味着以下元素将位于页面上的任何位置。这意味着如果页面上有多个
android.widget.ScrollView
元素,
//android.widget.ScrollView
将返回多个web元素

这也意味着如果
android.widget.ScrollView
下有多个
android.widget.TextView
元素,则
//android.widget.ScrollView//android.widget.TextView
将定位多个
TextView
元素

您可以在括号中添加条件,例如
android.widget.ScrollView[@class='someClass']//android.widget.TextView
,以使路径更准确


如果您发布更完整的页面源代码,我可以帮助您更好地编写XPath并理解此处的符号。

不客气,很乐意提供帮助。如果此解释对您有所帮助,请随时标记为帖子的答案,或者继续提问,以便我们能够了解您的问题。实际上,我已经在react本机应用程序和登录pa中提供了帮助ge有一个名为“create account”的标签,所以我得到了有问题的xpath show,我想用xpath在上面设置click方法