📜  如何在 selenium python 中选择 li 元素(1)

📅  最后修改于: 2023-12-03 15:38:26.544000             🧑  作者: Mango

如何在 Selenium Python 中选择 li 元素

在 Selenium Python 中选择 li 元素与选择其他元素的方式类似,但是有些细节需要注意。本文将介绍如何正确地选择 li 元素。

使用 find_elements_by_tag_name 方法选择 li 元素

li 元素是一个标签元素,在 HTML 中用于表示列表项。如果你想要选择所有的 li 元素,可以使用 find_elements_by_tag_name 方法来实现:

from selenium import webdriver

# 初始化 webdriver
driver = webdriver.Chrome()

# 打开页面
driver.get('https://www.example.com')

# 选择所有的 li 元素
li_elements = driver.find_elements_by_tag_name('li')

# 打印 li 元素的数量
print('There are', len(li_elements), 'li elements on the page.')

# 关闭浏览器
driver.quit()

在上面的代码中,我们首先初始化了一个 Chrome WebDriver,并打开了一个页面。然后,使用 find_elements_by_tag_name 方法选择了所有的 li 元素,并将它们存储在一个列表 li_elements 中。最后,我们打印了 li 元素的数量,并关闭了浏览器。

使用 XPath 选择 li 元素

除了使用标签名选择 li 元素之外,还可以使用 XPath 表达式来选择 li 元素。XPath 是一种用于在 HTML 或 XML 中查找元素的语言,它支持复杂的查询和过滤条件。

from selenium import webdriver

# 初始化 webdriver
driver = webdriver.Chrome()

# 打开页面
driver.get('https://www.example.com')

# 选择所有的 li 元素
li_elements = driver.find_elements_by_xpath('//li')

# 打印 li 元素的数量
print('There are', len(li_elements), 'li elements on the page.')

# 关闭浏览器
driver.quit()

在上面的代码中,我们使用 XPath 表达式 //li 来选择所有的 li 元素。该表达式的含义是:选择页面中所有名为 li 的元素,不论它们位于哪个层级中。

使用 CSS 选择器选择 li 元素

另一种选择 li 元素的方法是使用 CSS 选择器。CSS 选择器是一种用于选择 HTML 元素的语言,它使用类似于 CSS 样式规则的语法。

from selenium import webdriver

# 初始化 webdriver
driver = webdriver.Chrome()

# 打开页面
driver.get('https://www.example.com')

# 选择所有的 li 元素
li_elements = driver.find_elements_by_css_selector('li')

# 打印 li 元素的数量
print('There are', len(li_elements), 'li elements on the page.')

# 关闭浏览器
driver.quit()

在上面的代码中,我们使用 CSS 选择器 'li' 来选择所有的 li 元素。

在 li 元素中查找子元素

有时候,我们需要在 li 元素中查找它的子元素,比如 a 元素或者 span 元素。在这种情况下,可以使用 li 元素的 find_elements_by_xpathfind_elements_by_css_selector 方法来查找子元素。

from selenium import webdriver

# 初始化 webdriver
driver = webdriver.Chrome()

# 打开页面
driver.get('https://www.example.com')

# 选择第一个 li 元素
li_element = driver.find_element_by_xpath('//li[1]')

# 在 li 元素中查找 a 元素
a_element = li_element.find_element_by_xpath('.//a')

# 在 li 元素中查找 span 元素
span_element = li_element.find_element_by_css_selector('span')

# 打印 a 和 span 元素的文本
print('The text of the link is:', a_element.text)
print('The text of the span is:', span_element.text)

# 关闭浏览器
driver.quit()

在上面的代码中,我们首先使用 XPath 表达式 //li[1] 选择第一个 li 元素。然后,在该元素的基础上使用相对 XPath 表达式 .//a 和 CSS 选择器 'span' 查找 a 元素和 span 元素。最后,我们打印了 a 元素和 span 元素的文本。

以上就是如何在 Selenium Python 中选择 li 元素的介绍,希望对你有所帮助。