Python脚本Selenium及页面Web元素定位详解
目录
- Selenium特点
- 八种定位方式
- 1、driver.find_element_by_xpath(value)
- 2、driver.find_element_by_css_selector(value)
- 3、driver.find_element_by_id(value)
- 4、driver.find_element_by_name(value)
- 5、driver.find_element_by_class_name(value)
- 6、driver.find_element_by_tag_name(value)
- 7、driver.find_element_by_link_text(value)
- 8、driver.find_element_by_partial_link_text(value)
Selenium特点 开源,免费
多浏览器支持:firefox、chrome、IE
多平台支持:linux 、windows、MAC
多语言支持:java、python、ruby、php、C#、
对web页面有良好的支持
简单(API 简单)、灵活(用开发语言驱动)
支持分布式测试用例执行一、
八种定位方式
1、driver.find_element_by_xpath(value)

文章图片
可以使用自带的copy xpath 进行定位
不推荐使用这种方法进行元素定位,后续开发修改代码路径发生变化就需要重新进行定位
// 使用xpath进行定位from selenium import webdriverdriver = webdriver.Chrome() //打开谷歌driver.get("http://www.baidu.com") //打开百度链接//通过id定位到输入框的位置,send_keys('') 往输入框填写内容driver.find_element_by_name("wd").send_keys("Selenium八大元素定位")//通过id定位到按钮的位置并进行点击,click() 点击操作driver.find_element_by_id("su").click()//通过xpath定位获取元素位置driver.find_element_by_xpath('//*[@id="2"]/h3/a').click()
利用元素属性进行xpath定位
// 利用元素属性进行xpath定位from selenium import webdriverdriver = webdriver.Chrome() //打开谷歌driver.get("http://www.baidu.com") //打开百度链接//通过id定位到输入框的位置,send_keys('') 往输入框填写内容driver.find_element_by_name("wd").send_keys("Selenium八大元素定位")//通过id定位到按钮的位置并进行点击,click() 点击操作driver.find_element_by_id("su").click()//通过元素属性进行xpath定位元素的值需要是唯一的driver.find_element_by_xpath('//a[@href="https://www.baidu.com/link?url=whqbCegRZQsSTccYyuTdx3JumdN0qSFUFOo_xM_ESykWekftGjVFXAq55MMqjvQL0NG7iI1l6irIW_vdPN7h-K&wd=&eqid=d07979d2000631b10000000661443a3f" rel="external nofollow" ]').click()
2、driver.find_element_by_css_selector(value)

文章图片
// 搜索百度使用f12定位到输入框的位置
from selenium import webdriverdriver = webdriver.Chrome() //打开谷歌driver.get("http://www.baidu.com") //打开百度链接//标签名及属性(含属性值)组合定位,方式有很多不一一举例driver.find_element_by_css_selector('input[name="wd"]').send_keys("Selenium八大元素定位")
3、driver.find_element_by_id(value)
【Python脚本Selenium及页面Web元素定位详解】

文章图片
// 搜索百度使用f12定位到按钮的位置
// 使用id 定位到输入框的位置from selenium import webdriverdriver = webdriver.Chrome() //打开谷歌driver.get("http://www.baidu.com") //打开百度链接//通过id定位到按钮的位置并进行点击,click() 点击操作driver.find_element_by_id("su").click()
4、driver.find_element_by_name(value)

文章图片
// 搜索百度使用f12定位到输入框的位置
// 使用name 定位到输入框的位置from selenium import webdriverdriver = webdriver.Chrome() //打开谷歌driver.get("http://www.baidu.com") //打开百度链接//通过id定位到输入框的位置,send_keys('') 往输入框填写内容driver.find_element_by_name("wd").send_keys("Selenium八大元素定位")
5、driver.find_element_by_class_name(value)

文章图片
// 搜索百度使用f12定位到输入框的位置
// 使用name 定位到输入框的位置from selenium import webdriverdriver = webdriver.Chrome() //打开谷歌driver.get("http://www.baidu.com") //打开百度链接driver.find_element_by_class_name("s_ipt").send_keys("Selenium八大元素定位")
6、driver.find_element_by_tag_name(value)

文章图片
// 使用标签名进行定位from selenium import webdriverdriver = webdriver.Chrome() //打开谷歌driver.get("http://www.baidu.com") //打开百度链接driver.find_element_by_tag_name("input")//通过标签名去定位,不推荐重复率很高
7、driver.find_element_by_link_text(value)

文章图片
// 搜索百度使用f12定位到按钮的位置新闻
//此定位方式主要是对超链接进行定位,填写的内容是完整的超链接文字from selenium import webdriverdriver = webdriver.Chrome() //打开谷歌driver.get("http://www.baidu.com") //打开百度链接//此定位方式主要是对超链接进行定位,也就是html中的标签,括号中填写的值是完整的超链接文字driver.find_element_by_link_text("新闻").click()
8、driver.find_element_by_partial_link_text(value)

文章图片
// 搜索百度使用f12定位到按钮的位置新闻
//此定位方式主要是对超链接进行定位,填写的内容是部分的超链接文字from selenium import webdriverdriver = webdriver.Chrome() //打开谷歌driver.get("http://www.baidu.com") //打开百度链接//此定位方式主要是对超链接进行定位,也就是html中的标签,括号中填写的值是部分的超链接文字driver.find_element_by_partial_link_text("新").click()
以上就是Python脚本Selenium及页面Web元素定位详解的详细内容,更多关于脚本Selenium页面Web元素定位的资料请关注脚本之家其它相关文章!
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- 「按键精灵安卓版」关于全分辨率脚本的一些理解(非游戏app)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- Python数据分析(一)(Matplotlib使用)