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相关推荐

  1. selenium 定位方式4-xpath

    Selenium 提供的另一种,能够唯一定位的方式: find_element_by_xpath XPath 基础知识 XPath (XML Path Language) 是由国际标准化组织 W3C ...

  2. selenium 定位方式3-css_selector

    关于页面元素定位,可以根据 id.class.name 属性以及 link_text. 其中 id 属性是最理想的定位方式,class 与 name 属性,有时候也还行. 但是,如果要定位的元素,没有 ...

  3. selenium 定位方式1

    Selenium 常用的定位方式8种. 1. find_element_by_id 对于 Web 页面,id 是最理想的定位方式,一般前端 HTML 代码都会尽量保证 id 的唯一性. 1.1 fin ...

  4. selenium定位方式

    一.概念 做UI自动化的重点就是定位元素以及操作元素,关于定位selenium提供了两类十六种方式,即element.elements. 这两类方式的区别是对于元素的定位概念不同,定位方式是相同的. ...

  5. selenium 表单提交结果_了解 Selenium 定位方式

    ※元素定位的重要性:在于查找元素 And 执行元素 定位元素的三种方法 1.定位单个元素:在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位.在这些定位方式中,优 ...

  6. selenium 定位方式2

    1. find_element_by_link_text 此定位方法只针对 HTML 中的 <a>内容</a> 标签使用,一般会对应一个可跳转的链接,通过 a 标签中的内容定位 ...

  7. selenium简介,原理,优点,工作过程,定位方式

    1.selenium简介 selenium是一个用于web应用程序自动化测试工具,可以直接运行在浏览器,就行用户真正的在浏览器操作一样,支持的浏览器包括:IE,Firefox,Chrome,Safar ...

  8. selenium的定位方式

    第1种方法:通过绝对路径做定位(相信大家不会使用这种方式) By.xpath("html/body/div/form/input") By.xpath("//input& ...

  9. 超全面整理,Selenium 八大元素定位方式,(建议收藏反复使用)

    UI自动化测本质无非就是: 定位元素 -> 操作元素 -> 模拟页面动作 -> 断言结果 -> 生成测试报告. 所以我们做UI自动化的第一步就是定位元素,如果连元素都定位不到就 ...

最新文章

  1. 2022-2028年中国数字电视产业投资分析及前景预测报告(全卷)
  2. MSDN 教程短片 WPF 16(Path路径)
  3. MIME type类型
  4. 学习方法之06为什么你的计划总是完不成
  5. 超低内阻mos管_FHU100N03低压MOS管保障榨汁机电路正常运行!
  6. Java学习---流与文件
  7. office数据集dslr_DSLR的完整形式是什么?
  8. 高斯噪声,椒盐噪声的思想及多种噪声的实现
  9. 2014-7-29-阿里电面-第一轮
  10. HCIE Security 双机热备 备考笔记(幕布)
  11. 无线WIFI短信认证平台(互亿无线)
  12. 面试题:赛马最快N匹
  13. 驻波检测及双向耦合器参数说明
  14. 在PS中快速制作发朋友圈的九宫格切图
  15. matlab报错Unbalanced or unexpected parenthesis or bracket.
  16. 想圆科幻船长梦么?这台PC想必能让你爱不释手
  17. 男人不愿被打扰的五个时刻
  18. ECharts 柱状图上显示数据,并自定义图标
  19. BT下载的原理 和疑问
  20. 3. 自建DNS(bind9)

热门文章

  1. 通过bginfo小工具让用户自己查看用户名与IP地址信息
  2. vSAN推荐的IO控制器的配置方式(转)
  3. ESXI6.7虚拟机配置LACP静态汇聚端口网络负载均衡分流
  4. opencms mysql_OpenCms for MySql安装图解
  5. 较常用的Math方法及ES6中的扩展
  6. 云上赶年集、品年味,阿里云让云上中国年“春节不打烊”
  7. bootstrap插件(对话框)bootbox参数和自定义弹出框宽度设置
  8. 作为一个女程序员,有感而发
  9. MVP公益活动:编程一小时
  10. 设置导航条上的主题一颜色