Selenium Python 中定位多个元素


Selenium 是一种用于远程操作 Web 浏览器的有效工具。在自动化 Web 应用程序进行测试时,它非常有效。在网页上查找项目是 Selenium 的一项关键功能。在本课程中,我们将重点介绍如何使用 Python 查找多个 Selenium 元素。

Selenium 简介

Selenium 是一款知名的开源 Web 自动化工具。它为程序员提供了一种使用多种语言(包括 Python、Java、C# 等)编写脚本的方法。使用 Selenium,您可以自动化任何与浏览器相关的操作,包括点击、输入、选择和导航。

Selenium 设置

在我们开始查找元素之前,务必确保 Selenium 已正确配置并准备就绪。以下是如何使用 pip 进行设置。

pip install selenium

由于 Selenium 自动化并管理 Web 浏览器的活动,因此您必须下载与您的浏览器相关的驱动程序。例如,如果您使用 Chrome,请从 Selenium 官方网站下载 ChromeDriver。

在 Selenium 中定位元素

为了与网页交互,我们首先需要找到该元素。Selenium 提供了许多查找元素的方法,例如按 ID、名称、类名、链接文本等。

当我们需要与多个元素交互或从多个组件中提取信息时,Selenium 提供了查找多个元素的方法。

定位多个元素

Selenium 提供了许多查找多个元素的方法,例如:

  • find_elements_by_name

  • find_elements_by_id

  • find_elements_by_xpath

  • find_elements_by_link_text

  • find_elements_by_partial_link_text

  • find_elements_by_tag_name

  • find_elements_by_class_name

  • find_elements_by_css_selector

示例 1:Find_elements_by_class_name

此函数返回与类名匹配的元素列表。如果没有任何元素的类属性与指定的名称匹配,则会抛出 NoSuchElementException。

from selenium import webdriver

driver = webdriver.Chrome('path_to_chromedriver')
driver.get('https://www.website.com')

elements = driver.find_elements_by_class_name('class_name')

for element in elements:
    print(element.text)

示例 2:Find_elements_by_tag_name

当我们希望从具有相似含义的标签中提取信息时,我们会使用此函数。例如,我们可以从网站上的每个段落标签中收集数据。

from selenium import webdriver

driver = webdriver.Chrome('path_to_chromedriver')
driver.get('https://www.website.com')

elements = driver.find_elements_by_tag_name('p')

for element in elements:
   print(element.text)

示例 3:Find_elements_by_xpath

XPath 是一种用于遍历 XML 文档的语言。它提供了许多选择元素的方法,例如按 ID、名称等。

from selenium import webdriver

driver = webdriver.Chrome('path_to_chromedriver')
driver.get('https://www.website.com')

elements = driver.find_elements_by_xpath('//div[@class="class_name"]')

for element in elements:
    print(element.text)

结论

本文介绍了如何使用 Python 的 Selenium 框架查找多个元素。Selenium 是一款非常灵活且强大的工具,用于处理 Web 元素。它使得在 Web 浏览器中自动化几乎任何操作成为可能,用于各种任务,从测试 Web 应用程序到从网站抓取数据。

切勿忘记正确使用这些工具,并遵守您访问的网站的服务条款。

更新于: 2023年7月18日

372 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告