前言:

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

看这里介绍:w3school

首先来看一下xpath常用的语法:

一、xpath:通过常用属性定位,如:id、name、class

# 1.通过id定位
driver.find_element_by_xpath("//*[@id='username']").send_keys("159258") # 2.通过name定位
driver.find_element_by_xpath("//*[@name='username']").send_keys("159159") # 3.通过class定位
driver.find_element_by_xpath("//*[@class='ml-46']").send_keys("159159")

二、通过其他属性、多属性组合

# 4.通过多属性组合
driver.find_element_by_xpath("//input[@class='ml-46' and @name='username']").send_keys("545") # 5.通过其他属性
driver.find_element_by_xpath("//input[@placeholder='手机号']").send_keys("123")

三、通过文本属性

  • 如图:定位加入购物车这个按钮

# 6.通过文本属性
driver.find_element_by_xpath("//a[text()='加入购物车']").click()

四、通过层级关系、模糊匹配

# 7.通过层级关系
driver.find_element_by_xpath("//form[@id='ECS_FORMBUY']/ul[3]/li[2]/a").click() # 8.通过模糊匹配
driver.find_element_by_xpath("//a[contains(text(),'加入购物车')]").click() # 9.模糊匹配xx开头的
driver.find_element_by_xpath("//a[starts-with(@class,'btn')]").click()

五、通过层级关系-索引


# 10.通过层级关系-索引
driver.find_element_by_xpath("//*[@id='ad_type']/option[1]").click()

最新文章

  1. EF里如何定制实体的验证规则和实现IObjectWithState接口进行验证以及多个实体的同时验证
  2. Spring以及SPringmvc相关问题: ServletContext -父子容器
  3. 总结Unity IOC容器通过配置实现类型映射的几种基本使用方法
  4. 最近读cocoaui源代码有感
  5. Delphi中TStringList类常用属性方法详解
  6. ISO 9141-2 and ISO 14230-2 INITIALIZATION and DATA TRANSFER
  7. POJ 2456
  8. 【Todo】【转载】ES6的学习记录
  9. J2EE 关于WebLogic下应用使用URL.openConnection获取连接返回 HttpsURLConnection与SOAPHttpsURLConnection的问题
  10. Zabbix如何实现批量监控端口状态
  11. Python之路【第十七篇】:Django【进阶篇 】(转自银角大王博客)
  12. SEO基础内容
  13. vue-cli webpack配置 简单分析
  14. maven 本地仓库无法更新到最新版本的jar包
  15. Nodejs 使用Protobuf
  16. Art: Neural Style Transfer
  17. 设计模式之组合模式(composite)
  18. Mysql 通信协议抓包分析
  19. python文件操作与字符编码
  20. Paper Reading - Mind’s Eye: A Recurrent Visual Representation for Image Caption Generation ( CVPR 2015 )

热门文章

  1. xcode9打包问题
  2. spring security采用基于简单加密 token 的方法实现的remember me功能
  3. Java视频教程等百度云资源分享——更新ing
  4. mysql升级的一些踩坑点
  5. angular components
  6. d3.js学习笔记(五)——将数据结构化为D3.js可处理的
  7. js的callee和caller方法
  8. Chrome浏览器导入数字证书
  9. elasticsearch 2.2+ index.codec: best_compression启用压缩
  10. 【spark】示例:连接操作