Selenium - 元素定位(2) - XPATH进阶
Selenium - 元素定位
XPATH 定位进阶
元素示例

属性定位
# xpath 通过id属性定位
driver.find_element_by_xpath("//*[@id='kw']")
# xpath 通过name属性定位
driver.find_element_by_xpath("//*[@name='wd']")
# xpath 通过class属性定位
driver.find_element_by_xpath("//*[@class='s_ipt']")
其他属性定位
# xpath 通过其他属性定位
driver.find_element_by_xpath("//*[@autocomplete='off']")
组合定位
# xpath 通过标签与id属性的组合
driver.find_element_by_xpath("//input[@id='kw']")
# xpath 通过标签与class属性组合
driver.find_element_by_xpath("//input[@class='s_ipt']")
# xpath 通过标签与其它属性组合
driver.find_element_by_xpath("//input[@name='wd']")
# xpath 通过标签与其它属性组合
driver.find_element_by_xpath("//input[autocomplete='off']")
文本定位
# xpath 通过标签与页面字符
driver.find_element_by_xpath("//span[text()='页面文字']")
逻辑运算定位
# xpath 实现逻辑运算,同时匹配两个属性
driver.find_element_by_xpath("[//input[@id='kw' and @class='s_ipt']")
路径定位
# xpath 相对路径定位
driver.find_element_by_xpath("//form/span/inpu[@id='kw']")
# xpath 相对路径定位(通过父属性层级)
driver.find_element_by_xpath("//form[@id='form']/span[1]/input[2]")
# xpath 绝对路径定位
# 从根目录开始,以/开头,比较繁琐,一般不建议使用
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input")
模糊定位
# xpath 模糊定位
driver.find_element_by_xpath("//input[contains(@text(),'百度一下')]")
# xpath 匹配以什么开头
driver.find_element_by_xpath("//input[start-with(@class,'s_i')]")
# xpath 匹配以什么结束
driver.find_element_by_xpath("//input[end-with(@class,'ipt')]")
# xpath 正则匹配
driver.find_element_by_xpath("//*[match(@id,'kw')]")
Selenium - 元素定位(2) - XPATH进阶的更多相关文章
- Selenium元素定位之Xpath
Xpath非常强大,使用Xpath可以代替前六种基本的定位方式,这种定位方式几乎可以定位到页面上的任何元素. Xpath简介 Xpath就是xml path,是一种在xml中查找信息的语言,因为htm ...
- selenium元素定位方式xpath总结
一.绝对路径(不要使用,除非已经使用了所有方式仍然无法定位)方法:根据实际目录,逐层输写.例子: find_element_by_xpath("/html/body/div[2]/form/ ...
- python+selenium元素定位之XPath学习02
XPath 语法 XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. XML 实例文档 我们将在下面的例子中使用这个 ...
- python+selenium元素定位之XPath学习01
参考文档1:https://www.w3school.com.cn/xpath/xpath_syntax.asp 参考文档2:https://www.runoob.com/xpath/xpath-tu ...
- 自动化测试基础篇--Selenium元素定位
摘自https://www.cnblogs.com/sanzangTst/p/7457111.html 一.Selenium元素定位的重要性: Web自动化测试的操作:获取UI页面的元素,对元素进行操 ...
- Selenium3 + Python3自动化测试系列二——selenium元素定位
一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元 ...
- selenium元素定位之css选择器
在selenium元素定位时会用到css选择器选取元素,虽说xpath在定位元素时能解决大部分问题,但使用css选择器选取元素也是一种不错的选择. css相较与xpath选择元素优点如下: 表达式更加 ...
- selenium元素定位陷阱规避
为什么selenium可以在各个浏览器上运行?因为selenium在与各个浏览器驱动执行前,会先把脚本转化成webdriver, webdriver wire协议(一种json格式的协议),这样就与脚 ...
- Selenium2学习-002-Selenium2 Web 元素定位及 XPath 编写演示示例
此文主要对 Selenium2 的 Web 元素定位及 XPath 编写示例,敬请各位亲们参阅,共同探讨.若有不足之处,敬请各位大神指正,不胜感激! 通过 Firefox(火狐)浏览器的插件 Fire ...
- Java + selenium 元素定位(5)之By Xpath
这篇关于Xpath方法的文章和之前那篇CSS的方法一样,使用前,需要先掌握一些Xpath的相关知识.当然,网上也有各种工具可以帮助我们获取到元素的Xpath,但是这并不代表着我们就可以不用了解Xpat ...
随机推荐
- jdk8 stream部分排序方法
List<类> list; 代表某集合 //返回 对象集合以类属性一升序排序 list.stream().sorted(Comparator.comparing(类::属性一)); ...
- MATLAB信号处理常用函数(转载)
https://shimo.im/docs/YyRXY8cQdqY8RJvc/ <MATLAB信号处理工具箱>,可复制链接后用石墨文档 App 或小程序打开 嗯这个肯定是随便看看,有个印象 ...
- java注解与反射--3
java注解与反射--3 类的加载与ClassLoader java内存 堆 存放new的对象和数组 可以被所有的线程共享,不会存放别的对象引用 栈 存放基本变量类型 引用对象的变量 方法区 可以被所 ...
- 在一张 24 GB 的消费级显卡上用 RLHF 微调 20B LLMs
我们很高兴正式发布 trl 与 peft 的集成,使任何人都可以更轻松地使用强化学习进行大型语言模型 (LLM) 微调!在这篇文章中,我们解释了为什么这是现有微调方法的有竞争力的替代方案. 请注意, ...
- 9.SSRF和XML
SSRF和XML 目录 SSRF和XML SSRF介绍 SSRF漏洞挖掘 SSRF漏洞利用 内网探测: 常见端口探测: 协议探测: file协议敏感文件: XML介绍 DTD定义 DTD作用 XXE介 ...
- Conda in Windows under MSYS2 and Zsh 的问题解决
Conda in Windows under MSYS2 and Zsh 的问题解决 在Window11上使用git bash 安装zsh,并配置p10k主题,主要问题就是prompt中无法显示con ...
- vue3 ts 类式写法的mixins
vue-property-decorator 混入(mixins) // mixins.ts import { Vue } from 'vue-property-decorator' class Mi ...
- C++ 测试框架 GoogleTest 初学者入门篇 乙
*以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/aFeiOGO-N9O7Ab_8KJ2wxw 开发者虽然主要负责工程 ...
- 使用kubeadm快速启用一个集群
使用kubeadm快速启用一个集群 CentOS 配置YUM源 cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] n ...
- [WEB]对于"Refused to execute script from 'http://xx.xx.xx/yy/zz.js' because its MIME type ('') is not executable, and strict MIME type checking is enabled."问题的解决办法
1 文由 阶段一:对WEB服务器HTTP通信的header设置了安全头(X-Content-Options:nosniff) 两个月前协助交付侧大哥处理.修复一个三级等保项目的第三方安全公司释出的安全 ...