右侧
黑客技术
当前位置:网站首页 > 黑客教程 > 正文

xpathid定位_xpath定位方法表达式

作者:hacker发布时间:2022-07-17分类:黑客教程浏览:84评论:4


导读:导航:1、appium+Python中账号密码输入框定位方法id+xpath一样的怎么解决,求大神解答2、XPath怎样根据一个元素定位另外一个元素?3、xpath...

导航:

appium+Python中账号密码输入框定位方法id+xpath一样的怎么解决,求大神解答

如果是这种情况,就考虑其他的定位方法了,肯定有一种能够解决的。

有这几种方法,也可以用:

一、

如果xpath一样,id不一样的话,可以通过找id(viewer当中的resource-id),

self.driver.find_element_by_id("com.chanjet.csp.customer:id/workrecord_add_content").send_keys(contextfield)

二、

如果一定要用xpath,看看viewer当中@index是不是有一个是0,有一个是1,一般来说不会重;如果真的重了,通过text可者其他的不一致的项,再试试

self.driver.find_element_by_xpath("//android.widget.TextView[contains(@text,'报价')]")

除了这些,还有以下的找元素的方式,换一换,总有一个能行的

self.driver.find_element_by_class_name('android.widget.ImageView').click()

self.driver.find_element_by_name("新增工作记录").click()

XPath怎样根据一个元素定位另外一个元素?

1、Xpath也可以使用元素的属性值来定位,以百度输入框和搜索按钮为例

2、通过id属性值来定位:注释://表示在当前页面的某个目录下,input表示定位元素的标签名,[@id='kw'],表示这个元素的id属性值等于kw

3、通过name和class属性值来定位:如果不想指定标签名,则也可以用*代替,当然,使用Xpath不局限于id,name和class这三个属性值,元素的任意属性值都可以使用,只要它是唯一的标识元素

4、层级与属性结合。如果一个元素本身没有可以唯一标识这个元素的属性值,那么我们可以找到其上一级元素,如果它的上一级有唯一可以标识属性的值,也可以拿来使用

5、使用逻辑运算符。如果一个属性不能唯一地区分一个元素,我们还可以使用逻辑运算符连接多个属性来查找元素。例如,假如要查找第一行元素,则:

xpath 如何定位div下的a标签 xpath定位的id是动态的

试试这方式定位

driver.findElements(By.xpath("//div[starts-with(@id,'view_')]/div[2]/span/a[1]/span"));

标签:xpathid定位


已有4位网友发表了看法:

  • 访客

    访客  评论于 2022-07-18 02:34:02  回复

    div[starts-with(@id,'view_')]/div[2]/span/a[1]/span"));

  • 访客

    访客  评论于 2022-07-18 01:08:11  回复

    素的任意属性值都可以使用,只要它是唯一的标识元素4、层级与属性结合。如果一个元素本身没有可以唯一标识这个元素的属性值,那么我们可以找到其上一级元素,如果它的上一级有唯一可以标识属性的值,也可以拿来使用5、使用逻辑运算符。

  • 访客

    访客  评论于 2022-07-17 22:13:49  回复

    局限于id,name和class这三个属性值,元素的任意属性值都可以使用,只要它是唯一的标识元素4、层级与属性结合。如果一个元素本身没有可以唯一标识这个元素的属性值,那么我们可以找到其上一级元素,如果它的上一级有唯

  • 访客

    访客  评论于 2022-07-17 22:07:20  回复

    属性不能唯一地区分一个元素,我们还可以使用逻辑运算符连接多个属性来查找元素。例如,假如要查找第一行元素,则:xpath 如何定位div下的a标签 xpath定位的id是动态的试试这方式定位driver.findElements(By.xpath("//div[starts-with(

欢迎 发表评论:

黑客教程排行
最近发表
标签列表