手写xpath定位公式

Posted lcboss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手写xpath定位公式相关的知识,希望对你有一定的参考价值。

做web自动化,之前我们已经将环境搭建好了,现在的话总结下怎么定位元素的

最基本的元素定位是有6种:

driver.find_element_by_id("")
driver.find_element_by_class_name("")
driver.find_element_by_link_text("")
driver.find_element_by_partial_link_text("")
driver.find_element_by_name("")
driver.find_element_by_tag_name("")

以上这6中方式一般在做web自动化项目的时候我们用的还是比较少的,常用的还是xpath和css,css目前我没有去研究学习,这里我总结下xpath是怎么用的吧

在浏览器重一般自带的功能可以让你直接复制xpath,但是这种方式小打小闹还可以,真正做项目也没有谁会去复制xpath,都是靠自己手动去写的,那么怎么取自己手写xpath呢?

下面介绍几种方式来手写:

1、//标签名[@属性名=值]

定位百度首页中的输入框:

技术图片

 

 2、通过部分属性值来匹配

//标签名[contains(@属性名,值)]

技术图片

 

 3、利用文本

文本全部匹配://标签名[text()=值]

技术图片

 

 

文本部分匹配://标签名[contains(text(),值)]

技术图片

 

 4、轴定位

相对于以上3中方式,轴定位是比较复杂的了,一般用以上3中还是定位不了,我们就会采用轴定位的方式了

先介绍下轴定位的语法:

轴名称::节点名称

轴名称常用的有以下:

ancestor:祖先节点,包括父节点

parent:父节点

preceding:当前节点标签之前的所有节点

prececing-sibling:当前节点前的所有兄弟节点(同级)

following:当前节点标签之后的所有节点

following-sibling:当前节点标签之后的所有兄弟节点(同级)

举个栗子吧:课堂派中的注册框中的已有账号用其他方式是定位不了的,需要采用轴定位方式

//div[@class="choose"]/following-sibling::a/span[@class="str1"]

技术图片

 

 

以上是关于手写xpath定位公式的主要内容,如果未能解决你的问题,请参考以下文章

selenium:Xpath定位详解

机器学习之神经网络的公式推导与python代码(手写+pytorch)实现

利用Xpath和jQuery进行元素定位示例

webdriver实例14-Xpath定位的几种方法

xpath定位

appium python xpath 定位问题,新手问题。