selenium 定位方式5
Selenium 8大定位方法中的最后一个 find_element_by_tag_name
,这是所有定位方式中最不理想的定位方式,主要是因为一个页面中,存在相当多的相同的标签,基本做不到唯一定位,通常只能默认选择第一个定位到的元素。
# find_element_by_tag_name 的应用:根据 tag_name 定位元素
from selenium import webdriver # 导入 webdriver 模块
from time import sleep # 导入 sleep 模块,可以使程序强制休眠driver = webdriver.Chrome() # 调用 Chrome 浏览器
driver.maximize_window() # 窗口最大化
driver.get('https://www.baidu.com/') # 打开 百度element = driver.find_element_by_tag_name("textarea") # 定位 textarea 标签元素
print(element.get_attribute("id")) # 打印 该元素 的 id 属性值
elements = driver.find_elements_by_tag_name("textarea") # 查找页面上所有的 textarea 标签元素
print(elements) # 打印driver.quit() # 关闭浏览器
除了 8 种元素定位方式以外,还可以通过其他的形式定位元素。
通过父级定位元素来定位目标元素
在目标元素不方便定位时,可以先定位到它的父级元素,再通过已经定位的父级元素,对目标元素进行定位。
实际应用
# 通过已经定位到的父级元素定位目标元素
from selenium import webdriver # 导入 webdriver 模块
from time import sleep # 导入 sleep 模块,可以使程序强制休眠driver = webdriver.Chrome() # 调用 Chrome 浏览器
driver.maximize_window() # 窗口最大化
driver.get('https://www.baidu.com/') # 打开 百度
sleep(2) # 强制休眠 2 秒
father_element = driver.find_element_by_id("form") # 定位找到父级元素
target_element = father_element.find_element_by_id("kw") # 通过父级元素定位目标元素
target_element.send_keys("自动化测试") # 输入
sleep(2) # 强制休眠 2 秒driver.quit() # 关闭浏览器
通过元素组下标定位
Selenium 的 8 大定位方式,都有复数形式, 例如:
find_elements_by_id
find_elements_by_class_name
find_elements_by_xpath
……
以上的都能返回一个元素组(列表),通过元素组的下标,定位目标元素。
# 通过元素组下标定位
from selenium import webdriver # 导入 webdriver 模块
from time import sleep # 导入 sleep 模块,可以使程序强制休眠driver = webdriver.Chrome() # 调用 Chrome 浏览器
driver.maximize_window() # 窗口最大化
driver.get('https://www.baidu.com/') # 打开 百度
sleep(2) # 强制休眠 2 秒
elements = driver.find_elements_by_xpath("//div[@id='s-top-left']/a") # 定位元素组
print(type(elements)) # 打印 elements 类型,<class 'list'>
# 打印元素组中每个元素中的文本
for element in elements:print(element.text)
element1 = elements[0] # 通过 下标0 定位到第一个元素
element1.click() # 点击sleep(2) # 强制休眠 2 秒driver.quit() # 关闭浏览器
总结
selenium 定位方式5相关推荐
- selenium 定位方式4-xpath
Selenium 提供的另一种,能够唯一定位的方式: find_element_by_xpath XPath 基础知识 XPath (XML Path Language) 是由国际标准化组织 W3C ...
- selenium 定位方式3-css_selector
关于页面元素定位,可以根据 id.class.name 属性以及 link_text. 其中 id 属性是最理想的定位方式,class 与 name 属性,有时候也还行. 但是,如果要定位的元素,没有 ...
- selenium 定位方式1
Selenium 常用的定位方式8种. 1. find_element_by_id 对于 Web 页面,id 是最理想的定位方式,一般前端 HTML 代码都会尽量保证 id 的唯一性. 1.1 fin ...
- selenium定位方式
一.概念 做UI自动化的重点就是定位元素以及操作元素,关于定位selenium提供了两类十六种方式,即element.elements. 这两类方式的区别是对于元素的定位概念不同,定位方式是相同的. ...
- selenium 表单提交结果_了解 Selenium 定位方式
※元素定位的重要性:在于查找元素 And 执行元素 定位元素的三种方法 1.定位单个元素:在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位.在这些定位方式中,优 ...
- selenium 定位方式2
1. find_element_by_link_text 此定位方法只针对 HTML 中的 <a>内容</a> 标签使用,一般会对应一个可跳转的链接,通过 a 标签中的内容定位 ...
- selenium简介,原理,优点,工作过程,定位方式
1.selenium简介 selenium是一个用于web应用程序自动化测试工具,可以直接运行在浏览器,就行用户真正的在浏览器操作一样,支持的浏览器包括:IE,Firefox,Chrome,Safar ...
- selenium的定位方式
第1种方法:通过绝对路径做定位(相信大家不会使用这种方式) By.xpath("html/body/div/form/input") By.xpath("//input& ...
- 超全面整理,Selenium 八大元素定位方式,(建议收藏反复使用)
UI自动化测本质无非就是: 定位元素 -> 操作元素 -> 模拟页面动作 -> 断言结果 -> 生成测试报告. 所以我们做UI自动化的第一步就是定位元素,如果连元素都定位不到就 ...
最新文章
- 2022-2028年中国数字电视产业投资分析及前景预测报告(全卷)
- MSDN 教程短片 WPF 16(Path路径)
- MIME type类型
- 学习方法之06为什么你的计划总是完不成
- 超低内阻mos管_FHU100N03低压MOS管保障榨汁机电路正常运行!
- Java学习---流与文件
- office数据集dslr_DSLR的完整形式是什么?
- 高斯噪声,椒盐噪声的思想及多种噪声的实现
- 2014-7-29-阿里电面-第一轮
- HCIE Security 双机热备 备考笔记(幕布)
- 无线WIFI短信认证平台(互亿无线)
- 面试题:赛马最快N匹
- 驻波检测及双向耦合器参数说明
- 在PS中快速制作发朋友圈的九宫格切图
- matlab报错Unbalanced or unexpected parenthesis or bracket.
- 想圆科幻船长梦么?这台PC想必能让你爱不释手
- 男人不愿被打扰的五个时刻
- ECharts 柱状图上显示数据,并自定义图标
- BT下载的原理 和疑问
- 3. 自建DNS(bind9)