迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中使用 Selenium 查找元素

作者:迹忆客 最近更新:2023/07/02 浏览次数:

Python 中的 selenium 包用于通过 Web 浏览器实现自动化; 它与几乎所有主要浏览器兼容。 我们可以用 Python 编写脚本,在浏览器上自动执行一些任务。

本篇文章将介绍在 Python 中使用 selenium 查找网页中元素的不同方法。


在 Python 中使用 Selenium 查找元素

元素是网页的基本构造,用于定义其结构。 我们可以利用硒的不同功能来查找元素。

这些函数用于查找使用不同属性(如名称、xpath、id 等)的元素。 我们将使用这些方法从下面的 HTML 文档中检索元素。

<html>
 <body>
  <p class="content">Some text</p>
  <a href="link.html"> Link_text </a>
  <form id="some_form">
   <input name="email" type="text" />
   <input name="pass" type="password" />
  </form>
</body>
</html>

请注意 ,如果在任何情况下都没有匹配项,则会引发 NoSuchElementException 异常。 它们都会返回找到匹配项的元素列表。

下面讨论这些方法。


使用 find_elements_by_name() 函数在 Python 中使用 Selenium 查找元素

网页上的不同元素都分配有名称属性。 我们可以使用 find_elements_by_name() 函数来检索与 name 属性值匹配的元素列表。

请参阅下面的代码。

from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.get("https://www.sample.org/")
e = driver.find_element_by_name('email')

让我们理解上面的代码。

  1. 我们首先导入 webdriver 类来创建自动化浏览器。 在我们的例子中,我们将使用 Google Chrome 浏览器的 chromedriver.exe。
  2. 我们使用 get() 函数检索希望从中获取元素的网站。
  3. 为了获取元素列表,我们使用 find_element_by_name() 函数并在函数内指定 name 属性的值。

请注意 ,对于下面讨论的每种方法,代码将保持相同。 只有检索元素的函数(在本例中为 find_element_by_name())会发生变化。


在 Python 中使用 find_elements_by_id() 函数通过 Selenium 查找元素

id 属性还可以返回在网页上找到的元素列表。 为此,我们可以使用 find_elements_by_id() 函数。

例如,

from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.get("https://www.sample.org/")
e = driver.find_element_by_id('some_form')

使用 find_elements_by_xpath() 函数在 Python 中使用 Selenium 查找元素

我们可以使用 xpath 的路径表达式从文档中检索节点。 要使用 xpath 查找元素,我们可以使用 find_elements_by_xpath() 函数。

路径表达式在函数中指定。

例如,

from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.get("https://www.sample.org/")
e = driver.find_element_by_xpath("/html/body/form[1]")

我们在文档中包含可以重定向到其他网页的元素。 这是通过使用锚标签来实现的。

使用 find_elements_by_link_text() 函数,我们可以使用链接文本检索元素。

请参阅下面的代码。

from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.get("https://www.sample.org/")
e = driver.find_element_by_link_text('Link_text')

此功能与上一个功能类似。 不同之处在于它返回与链接的部分文本匹配的元素。

例如,

from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.get("https://www.sample.org/")
e = driver.find_element_by_partial_link_text('Link_')

在上面的示例中,我们可以观察到我们能够仅使用部分链接文本来检索元素。


使用 find_elements_by_tag_name() 函数在 Python 中使用 Selenium 查找元素

HTML 文档中的每个元素都有一个标签名称。 要使用标签名称查找元素,我们可以使用 Python 中的 find_element_by_tag_name()

请参阅下面的代码。

from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.get("https://www.sample.org/")
e = driver.find_element_by_tag_name('form')

使用 find_elements_by_class_name() 函数在 Python 中使用 Selenium 查找元素

我们可以使用 find_elements_by_class_name() 函数来检索与网页上给定类属性匹配的元素。

请参阅下面的代码。

from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.get("https://www.sample.org/")
e = driver.find_element_by_class_name('content')

使用 find_elements_by_css_selector() 函数在 Python 中使用 Selenium 查找元素

我们可以使用 CSS 选择器语法来设置 HTML 元素的样式。 CSS 选择器语法也可用于通过 find_elements_by_css_selector() 函数查找元素。

请参阅以下示例。

from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.get("https://www.sample.org/")
e = driver.find_element_by_css_selector('p.content')

使用 find_elements() 函数在 Python 中使用 Selenium 查找元素

find_elements() 函数是一个私有方法,可以从 HTML 文档中检索元素。 它就像前面讨论的所有方法的顶峰。

我们可以使用前面所有的属性作为参数来查找元素。

例如,

from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.get("https://www.sample.org/")
e = driver.find_elements(By.NAME, 'email')

上面的示例将像之前一样使用 name 属性查找元素。


总结

我们已经讨论了在 Python 中使用 selenium 根据不同属性查找元素的不同方法。 每个属性都有其功能。

我们还可以使用私有方法 find_elements 并提供不同的属性作为参数。 另一件需要注意的事情是,本文中的方法返回所有可能匹配的元素列表。

如果我们只需要找到一个元素,我们可以在每个讨论的函数中用 elements 替换 element 。 例如,find_elements 变为 find_element。

上一篇:Python 中使用 Selenium 单击按钮

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中使用 Selenium 单击按钮

发布时间:2023/07/03 浏览次数:115 分类:Python

本篇文章将介绍如何在 Python 中使用 selenium 单击网页上的按钮。Python 中使用 Selenium 单击按钮 我们将首先导入 webdriver 类并创建其对象以启动连接并打开 Web 浏览器。

Python 中 Selenium 的 send_keys() 函数

发布时间:2023/07/03 浏览次数:117 分类:Python

send_keys() 是将数字、文本和符号等键盘输入发送到应用程序的文本框的过程。 send_keys() 是 WebDriver 的一部分,每个键盘输入都会发送到此元素。Python 中 Selenium 的 send_keys() 函数

Python 中 Selenium 的 getAttribute() 函数

发布时间:2023/07/03 浏览次数:162 分类:Python

本文将解释如何使用 Selenium 的 getAttribute() 方法。Selenium Python 中的 getAttribute() 函数 getAttribute() 方法可以检索元素属性,例如锚标记的 href 属性。 该函数最初将尝试返回指定属性的值。

在 Python 中使用 Selenium 按文本查找元素

发布时间:2023/07/03 浏览次数:92 分类:Python

我们将通过示例介绍在Python中使用selenium通过文本查找元素的方法。在 Python 中使用 Selenium 按文本查找元素软件测试是检查应用程序是否满足用户需求的技术。

在Python中添加Selenium Web Driver等待

发布时间:2023/07/03 浏览次数:136 分类:Python

本文将介绍在Python中在Selenium Web驱动程序中添加等待的示例。Python Selenium Web 驱动程序等待 大多数 Web 应用程序都使用 AJAX 技术。

Selenium Python 中的动作链

发布时间:2023/07/03 浏览次数:159 分类:Python

动作链对象用于在 Python 中实现动作链。 动作链对象可以将所有动作存储在队列中,队列通过调用 perform() 函数来执行所有存储的操作。如何在 Selenium Python 中创建一个简单的动作链对象

Python Selenium 刷新页面

发布时间:2023/07/03 浏览次数:189 分类:Python

我们将学习如何使用 Selenium 在 Python 中刷新网页。在 Python 中安装 Selenium 要在本地计算机上安装 Selenium for Python,您可以在命令行界面 (CLI) 中使用著名的 pip 命令,如下所示。

使用 Selenium Python 检查元素是否存在

发布时间:2023/07/03 浏览次数:91 分类:Python

本文向您展示如何使用其 Python 客户端和 API 检查某个元素是否存在于 Selenium 中。使用 find_element() 使用 Selenium Python 检查元素是否存在

Python 中的 Schedule

发布时间:2023/07/03 浏览次数:194 分类:Python

本篇文章将介绍 Python 中的 Schedule 包,以在特定时间间隔后定期安排作业。Schedule是Python中的一个轻量级进程调度程序库 在 Python 中安装 Schedule 库

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便