selenium定位元素的方法|selenium定位元素的方法_selenium元素定位的八种方式
听首音乐再学习更愉快哟 先来认识一下元素定位的八种方式
# 1. 唯一id定位driver.find_element_by_id()# 2. name定位driver.find_element_by_name()# 3. class属性定位driver.find_element_by_class_name()# 4. 标签名字定位driver.find_element_by_tag_name()# 5. 文本链接定位driver.find_element_by_link_text()# 6. xpath路径定位driver.find_element_by_xpath()# 7. css路径定位driver.find_element_by_css_selector()# 8. 关键字文本链接定位driver.find_element_by_partial_link_text()
查看页面元素
【selenium定位元素的方法|selenium定位元素的方法_selenium元素定位的八种方式】打开网页,右键检查
文章图片
然后就可以看到整个页面的HTML代码了
文章图片
接着点击左上角的箭头标志,移动鼠标到页面想要定位元素的位置,HTML代码就会自动移动到对应的位置,我们就可以看到他对应的代码信息
文章图片
文章图片
1. 唯一id定位
我们可以在这里看到有一个属性为id的,id一般在HTML里面是唯一存在的,所以元素有id的情况下,我们可以根据id去进行定位
文章图片
比如我们通过这个id定位,在百度搜索框内输入Python
实现代码
from selenium import webdriver# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 根据id定位到搜索框# send_keys 在输入框内输入值driver.find_element_by_id('kw').send_keys('python')
实现效果
文章图片
2. name属性定位
还是定位搜索框,有个属性为name
文章图片
实现代码
# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 根据name定位到搜索框# send_keys 在输入框内输入值driver.find_element_by_name('wd').send_keys('python')
实现效果
文章图片
3. class属性定位
仍然是搜索框,有一个属性为class
文章图片
但class的属性值不一定全是唯一的,所以我们要确认一下这个值是否唯一,页面Ctrl + f 进行值搜索,确保这个值可以找到且唯一
文章图片
实现代码
# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 根据class定位到搜索框# send_keys 在输入框内输入值driver.find_element_by_class_name('s_ipt').send_keys('这是class定位实现的效果')
实现效果
文章图片
4. 标签名字定位
搜索框的标签名字
文章图片
根据标签名字定位工作中一般是不常用的,因为标签名字不是唯一的,因此如果定位是不唯一的标签名字,就会出现报错情况
# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 根据tag定位到搜索框# send_keys 在输入框内输入值driver.find_element_by_tag_name('input').send_keys('tag定位')
实现结果是报错的,因为这个标签名字不是唯一的,不推荐使用
5. 文本链接定位
文本链接定位,首先得是一个链接才可以,就比如百度页面的这个高考加油
文章图片
我们点进去之后会跳转去其他页面
文章图片
实现代码
# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 文本链接定位# click 点击操作driver.find_element_by_link_text('高考加油').click()
实现效果
文章图片
6. xpath路径定位
还是搜索框,找到元素,右键copy--xpath,当然也可以自己写xpath
文章图片
实现代码
# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# xpath定位driver.find_element_by_xpath('//*[@id="kw"]').send_keys('xpath')
实现效果
文章图片
7. css定位
搜索框,找到元素,右键copy--css,当然也可以自己写css
文章图片
实现代码
# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# css定位driver.find_element_by_css_selector('#kw').send_keys('css')
实现效果
文章图片
8. 关键字文本链接定位
这个是文本链接定位的模糊定位,比如高考加油
文章图片
实现代码
# 创建驱动实例driver = webdriver.Chrome()# 窗口最大化driver.maximize_window()# 打开网页driver.get('https://www.baidu.com/')# 关键字文本链接定位driver.find_element_by_partial_link_text('高考').click()
实现效果
文章图片
让生活句号圈住的人,是无法前进半步的。
文章图片
以上就是我们今天分享的内容了,觉得有帮助的记得点个关注哟。
往期文章
Python自动化之初识selenium
推荐阅读
- 自动化测试|selenium元素定位的常用八种方法
- 自动化测试|selenium 八种定位元素的方式
- Vue|【Vue】V-if成立时,元素出现;不成立时,元素不显示。
- 【小程序自动化Minium】二、元素定位-Page接口中的|【小程序自动化Minium】二、元素定位-Page接口中的 get_element() 与 get_elements()
- selenium之鼠标操作详解
- Flutter|Flutter Hero 实现共享元素转场动画
- docker容器|docker+selenium(基于selnenium grid) 实现分布式UI自动化
- 软件测试|懵(CSDN最牛逼的docker+selenium+jenkins构建自动化测试部署+实战,把我都惊呆了)
- web-自动化|三、centos服务器docker selenium实现webui分布式自动化
- docker|四、mac本地docker selenium grid实现webui分布式自动化