Selenium教程:一文了解Selenium的元素查找

这篇具有很好参考价值的文章主要介绍了Selenium教程:一文了解Selenium的元素查找。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注:本文内容基于selenium 3.141.0

Selenium教程:一文了解Selenium的元素查找,# Selenium教程,selenium,测试工具,python

Selenium的元素查找指的是使用Selenium WebDriver库中提供的方法来定位和操作网页上的各种元素,如文本框、按钮、下拉框、链接等。通过元素查找,可以在自动化测试中模拟用户操作,比如输入文本、点击按钮、选择下拉选项等。

Selenium提供了多种元素查找的方法,可以根据元素的特征和位置来进行定位。常用的元素查找方法包括:

  1. 通过ID查找元素
  2. 通过名称查找元素
  3. 通过类名查找元素
  4. 通过标签名查找元素
  5. 通过链接文本查找元素
  6. 通过XPath表达式查找元素
  7. 通过CSS选择器查找元素

使用这些方法,可以根据元素的唯一特征或者在页面中的相对位置来定位元素,从而实现对元素的操作。例如,可以通过find_element_by_idfind_element_by_namefind_element_by_xpath等方法来查找单个元素,或者通过find_elements_by_namefind_elements_by_xpath等方法来查找多个符合条件的元素。


1.通过ID查找元素:

element = driver.find_element_by_id("element_id")

2.通过名称查找元素:

element = driver.find_element_by_name("element_name")

3.通过类名查找元素:

element = driver.find_element_by_class_name("element_class")

4.通过标签名查找元素:

element = driver.find_element_by_tag_name("element_tag")

5.通过链接文本查找元素:

element = driver.find_element_by_link_text("link_text")

6.通过部分链接文本查找元素:

element = driver.find_element_by_partial_link_text("partial_link_text")

7.通过XPath表达式查找元素:

element = driver.find_element_by_xpath("xpath_expression")

XPath(XML Path Language)是一种用于在XML文档中定位元素的查询语言。在Selenium中,XPath常用于定位网页上的元素。

XPath语法包含以下主要部分:

  1. 节点选择器

    • nodename:选择指定节点名的所有节点。
    • *:选择所有节点。
    • @attribute:选择具有指定属性的所有节点。
  2. 路径表达式

    • /:从根节点开始选择。
    • //:选择匹配的任何位置的节点。
    • .:选择当前节点。
    • ..:选择当前节点的父节点。
  3. 谓语(Predicate)

    • [expression]:用于筛选节点,只选择满足条件的节点。
    • 可以使用运算符(如=!=<>contains()等)和逻辑运算符(如andornot)进行条件判断。
  4. 轴(Axis)

    • ancestor:选择所有祖先节点。
    • parent:选择父节点。
    • child:选择子节点。
    • following-sibling:选择当前节点之后的所有同级节点。
    • preceding-sibling:选择当前节点之前的所有同级节点。

以下是一些XPath示例:

  • //div:选择文档中的所有<div>元素。
  • //input[@id='username']:选择具有id属性为'username'的所有<input>元素。
  • //a[contains(@href, 'example.com')]:选择链接的href属性中包含'example.com'的所有<a>元素。
  • //table//tr[position()>2]:选择表格中第3行及之后的所有<tr>元素。

8.通过CSS选择器查找元素:

element = driver.find_element_by_css_selector("css_selector")

以下是八种常见的元素定位方式的优缺点:

  1. 通过ID定位元素

    • 优点:唯一性高,速度快。
    • 缺点:部分网页可能没有id属性,不适用于所有情况。
  2. 通过名称定位元素

    • 优点:简单易用。
    • 缺点:名称不唯一时定位困难。
  3. 通过类名定位元素

    • 优点:CSS类通常在页面上是唯一的。
    • 缺点:对于包含多个类名的元素定位可能不够精确。
  4. 通过标签名定位元素

    • 优点:查找速度较快。
    • 缺点:标签名通常不是唯一的。
  5. 通过链接文本定位元素

    • 优点:可以定位到链接元素。
    • 缺点:对于链接文本较长或包含特殊字符时不方便定位。
  6. 通过部分链接文本定位元素

    • 优点:可以模糊匹配链接文本。
    • 缺点:可能匹配到多个元素,定位不够精确。
  7. 通过XPath表达式定位元素

    • 优点:灵活强大,可以定位任何元素。
    • 缺点:XPath相对复杂,定位表达式较长。
  8. 通过CSS选择器定位元素

    • 优点:定位速度快,支持丰富的选择器语法。
    • 缺点:选择器语法可能较复杂,不够直观。

根据实际情况和页面结构的不同,选择合适的定位方式很重要。通常建议优先使用ID和类名进行定位,如果无法唯一定位,则可考虑使用XPath或CSS选择器。


以下是一个使用Selenium在百度网站搜索框中输入关键词并点击搜索按钮的完整代码示例:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# 启动浏览器
driver = webdriver.Chrome()

# 打开百度网站
driver.get("https://www.baidu.com")

# 定位搜索框并输入关键词
search_box = driver.find_element_by_id("kw")  # 百度搜索框的id为"kw"
search_box.send_keys("Selenium WebDriver")

# 模拟按下回车键进行搜索
search_box.send_keys(Keys.RETURN)

# 或者点击搜索按钮进行搜索(可选)
# search_button = driver.find_element_by_id("su")  # 百度搜索按钮的id为"su"
# search_button.click()

# 等待搜索结果加载
driver.implicitly_wait(10)  # 等待最多10秒钟,可根据实际情况调整

# 输出当前页面标题和URL
print("当前页面标题:", driver.title)
print("当前页面URL:", driver.current_url)

# 关闭浏览器
driver.quit()

 在这个示例中,我们使用Selenium打开百度网站,在搜索框中输入关键词"Selenium WebDriver",然后模拟按下回车键进行搜索。你也可以选择点击搜索按钮进行搜索。最后,输出当前页面的标题和URL,并关闭浏览器。文章来源地址https://www.toymoban.com/news/detail-840190.html

到了这里,关于Selenium教程:一文了解Selenium的元素查找的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python+Selenium实现列表元素的查找定位及删除操作

    获取列表(单页)全部数据 删除某行元素 查找并删除元素(目前仅支持删除单条数据,循环删除待继续研究) 结果示例

    2024年02月13日
    浏览(42)
  • Selenium库快速查找网页元素及执行浏览器模拟操作

    Selenium 是一个自动化测试工具,主要用于模拟用户在网页上的行为,进行自动化测试。 它支持多种浏览器,并且可以在多种操作系统上运行。以下是 Selenium 库的一些主要特点和用途: 网页自动化测试: Selenium 可以模拟用户在网页上的各种操作,如点击、输入文本、选择下拉

    2024年04月23日
    浏览(40)
  • Selenium之css如何实现元素定位,你了解多少?

    前言 世界上最远的距离大概就是明明看到一个页面元素站在那里,但是我却定位不到!! Selenium定位元素的方法有很多种,像是通过id、name、class_name、tag_name、link_text等等,但是这些方法局限性太大, 随着自动化测试的深入,和不同框架要求,会发现上面的定位方式无法解

    2024年02月16日
    浏览(45)
  • Selenium教程:自动化浏览器测试工具

    Selenium是一款用于自动化浏览器测试的工具,它提供了一系列的API和功能,使得开发人员可以编写脚本来模拟用户在浏览器中的行为。无论是在Web应用程序的功能测试、性能测试还是数据抓取方面,Selenium都是一个强大且广泛使用的工具。 在开始使用Selenium之前,您需要进行安

    2024年02月07日
    浏览(48)
  • 自动化测试工具之Selenium IDE录制教程

            下载传送带:Selenium IDE · Open source record and playback test automation for the web         这里Darren洋以firefox火狐浏览器为例,将以上下载url直接在firefox浏览器中打开,点击对应下载按钮后,就会进入添加页面。         这里直接点击添加到Firefox浏览器的按钮即可,谷歌浏

    2024年02月08日
    浏览(37)
  • 万字攻略全面了解selenium_selenium教程

    今天带大家一起学习下python爬虫4小分队(scrapy、beautifulsoup、selenium以及pyppeteer)之一的 Selenium库,主要用于 模拟浏览器运行,是一个用于w eb 应用测试的工具。 Selenium 直接运行在浏览器中,看起来就像人在操作一样(也可无窗口模式运行)。支持的浏览器包括 IE、 Firefox、

    2024年02月11日
    浏览(30)
  • Selenium实战教程系列(二)---元素定位

    Selenium webdriver能够模拟人对浏览器进行操作的前提是界面元素的定位。元素的定位可以说是Selenium自动化脚本的基础。这一小节笔者将介绍如何在selenium中进行元素的定位。 Selenium中提供了以下定位元素的方法: 首先看一个HTML文件 test_page.: 通过元素的 id 来完成username输入框

    2024年02月02日
    浏览(67)
  • Selenium教程__元素定位(2)

    Selenium操作页面上的文本输入框、按钮、单选框、复选框等,凡是能在页面显示的任何元素都需要先对元素进行定位。 Selenium提供了以下方法来定位页面中元素: find_element_by_id :通过id属性值进行匹配查找,返回匹配到的第一个元素,未匹配到就报错 find_element_by_name :通过

    2024年02月11日
    浏览(71)
  • 基于web应用的UI自动化、跨浏览器测试、测试结果分析:Selenium 开源的自动化测试工具基础教程

    作者:禅与计算机程序设计艺术 Selenium是一个开源的自动化测试工具,它提供了基于web应用的UI自动化、跨浏览器测试、测试结果分析等功能。它提供的功能包括:自动化控制浏览器、操纵表单、点击链接及按钮、验证页面元素、执行JavaScript代码、生成PDF文件、模拟移动设备

    2024年02月09日
    浏览(37)
  • Selenium教程__获取元素文本、属性值、尺寸(8)

    本文将介绍如何使用Selenium来获取元素的文本内容、属性值和尺寸,并展示一些实际应用场景。 学习本文内容将能够轻松地获取并利用元素的相关信息,从而更好地进行元素的验证、操作和断言。  -事必有法,然后有成-  最后祝大家早日达到测试的天花板! 以下是我收集到

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包