selenium - xpath - 定位
前言:
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()
selenium - xpath - 定位的更多相关文章
- 自动化测试基础篇--Selenium Xpath定位
摘自https://www.cnblogs.com/sanzangTst/p/7458056.html 学习 什么是xpath? XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言 ...
- selenium xpath定位方式整理
#xpath定位元素方法: /html/body/div[2] #绝对路径定位 #相对路径定位元素 //* #找到所有的元素 //input #找到input元素 //*[@*] #表示有属性的所有元 ...
- python selenium xpath定位方式
作者刚开始写博客,格式和语言方面难免存在问题,请大家海涵,如果有问题也请直接指出 xpath是一种在xm文档中定位的语言,详细简介,请自行参照百度百科,本文主要总结一下xpath的使用方法,个人看法, ...
- selenium之xpath定位和input文本
selenium之xpath定位和input文本 xpath简单定位: 打开浏览器的F12 在自己需要定位的元素的那里右键 选择copy->xpath selenium获取input下的文本: ...
- python+selenium基础之XPATH定位(第一篇)
世界上最远的距离大概就是明明看到一个页面元素矗在那里,但是我却定位不到!! selenium定位元素的方法有很多种,像是通过id.name.class_name.tag_name.link_text等 ...
- 用XPath精确定位节点元素&selenium使用Xpath定位之完整篇
在利用XSL进行转换的过程中,匹配的概念非常重要.在模板声明语句 xsl:template match = ""和模板应用语句xsl:apply-templates select ...
- Selenium+Java(四)Selenium Xpath元素定位
前言 关于Selenium元素定位,这是最后一篇博客. Xpath定位可以实现的功能 Selenium+Java(三)Selenium元素定位中讲的定位方式也可以实现,具体要用那种定位方式要根据自己的 ...
- selenium自学笔记---ecshop购买脚本 xpath定位元素(下拉框,单选框)
本机环境:xamppv3.2.1+ecshop3.0 1.元素定位写对,却一直报错,发现是页面元素加载的太慢,所以加上延时 from selenium import webdriverimport ...
- Python selenium PO By.XPATH定位元素报错
Python selenium PO By.XPATH定位元素报错 如下代码经常报错: # 首页的“新建投放计划”按钮 new_ads_plan = (By.XPATH, "//*[tex ...
随机推荐
- sublime使用sublimelint-luacheck屏蔽指定警告
在成功安装SublimeLinter-lua与luacheck以后,如果没有语法error,则会进行警告提示. 如下图 waring: line contains trailing whitespac ...
- Docker入门使用
先来一波docker的指令: docker inspect 容器id 查询容器信息 docker stop 容器id 停止容器id docker rm 容器id ...
- CentOS 5 上使用yum同时安装32位和64位包的解决方法
在centos上使用yum在线安装软件包的时候,有时候会同时安装32位和64位的包.并且在update的时候也会更新双份. 其实让yum只安装64位的包,只要在 /etc/yum.conf 中加个 e ...
- Java编程时部分快捷键
alt + / 内容助理 配置:Window->properties->keys->查看alt + /的配置,然后解除当前的配置->搜索content assist->解 ...
- ASCII_01
1.来自“http://baike.baidu.com/link?url=WgFPtGe-rT6x6X0r_OiHGVZAV87Fu4_P5fvr7FsGyrm8QqTGuvVUfg4Jx7Rn-Le ...
- cors实现跨域(.net和jquery)
本文引用自:http://blog.csdn.net/xuwei_xuwei/article/details/29845865 客户端 一个jquery cors请求例子: $.ajax({ ...
- redis key 通配符 查询相应的key
keys pattern 查询相应的key 在redis里,允许模糊查询key 有3个通配符 *, ? ,[] *: 通配任意多个字符 ?: 通配单个字符 []: 通配括号内的某1个字符 redis ...
- mysql的bin或者sbin目录可执行文件
一. mysql服务和myql服务启动程序 1. mysqld mysqld就是mysql server,负责管理对mysql数据的访问. 当mysql server启动后,它会监听来自客户端的网络连 ...
- js区分字符串和数字,有时候需要将字符串转换成数字
js区分字符串和数字,有时候需要将字符串转换成数字 :parseInt
- request对象和response对象,什么时候用,具体用哪一个,没有感觉
request对象和response对象,什么时候用,具体用哪一个,没有感觉