📅  最后修改于: 2023-12-03 15:30:45.794000             🧑  作者: Mango
find_element_by_css_selector
是一个 Selenium WebDriver 提供的 Python API,可以使用一些 CSS 选择器语法在页面中查找符合条件的元素。
假设我们有一个页面中有一个 id 为 wrapper
的 div,其中有一个 class 为 content
的 section,包含了一些 p 标签。现在,我们需要查找其中的第一个 p 标签并提取其 text 内容。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://example.com')
p_element = driver.find_element_by_css_selector('#wrapper .content p:first-child')
p_content = p_element.text
print(p_content)
driver.quit()
在代码中,driver.find_element_by_css_selector()
会根据传入的 CSS 选择器查找页面中符合条件的元素。这里的选择器 #wrapper .content p:first-child
表示:id 为 wrapper
的元素中,class 为 content
的元素中,第一个 p 标签。我们也可以使用其它 CSS 选择器满足需要。
注意 find_element_by_css_selector()
方法只会返回一个元素,如果有多个符合条件的元素,它只会返回第一个。如果要查找多个元素,使用 find_elements_by_css_selector()
方法。像这样:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://example.com')
p_elements = driver.find_elements_by_css_selector('#wrapper .content p')
for p_element in p_elements:
p_content = p_element.text
print(p_content)
driver.quit()
使用 Selenium 的 find_element_by_css_selector()
和 find_elements_by_css_selector()
方法,可以方便地按 CSS 选择器查找页面中符合条件的元素。通过这种方法,我们能够以程序化的方式获取页面中的内容,并进行进一步的处理。