如何在 Python 中使用 Selenium WebDriver 通过 CSS 选择器配对元素的子元素?

用户18243nanana

我正在使用 Selenium WebDriver 从许多网页中抓取信息。我想知道是否可以通过 CSS 选择器选择多个子元素。HTML 结构如下所示:

<section id="education">
  <div class="degree">
    <h3 class="school"> School1 </h3>
    <p class="year"> 2002-2008 </p>
  </div>
  <div class="degree">
    <h3 class="school"> School2 </h3>
  </div>
</section>

在这种情况下,我想选择具有相应年份范围的学校名称。但如果我只是使用:

driver.find_elements_by_css_selector('section[id="education"] div[class="school"]')
driver.find_elements_by_css_selector('section[id="education"] p[class="year"]')

我会得到两个列表:[School1, School2]and ['2002-2008'],我将无法分辨哪所学校对应于 year range '2002-2008'那么,是否可以将相应的学校名称和年份范围结合在一起?如果有其他方法可以绕过它,那也会有帮助。

欧马属

您必须遍历.degree标签并成对地从中提取所需的信息。以下是如何以正常方式执行此操作:

education = driver.find_element_by_id("education")
for degree in education.find_element_by_class_name("degree"):
    school = degree.find_element_by_class_name("school")
    year = degree.find_element_by_class_name("year")
    print(school.text, year.text)

以下是使用 CSS 选择器的方法:

for degree in driver.find_elements_by_css_selector("#education .degree"):
    school = degree.find_element_by_css_selector(".school")
    year = degree.find_element_by_css_selector(".year")
    print(school.text, year.text)

注意:正如@Andersson 所评论的,您应该使用本答案中提到的方法之一检查元素(.year.school)是否存在(如果可能丢失)否则,此代码可能会抛出.NoSuchElementException

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Python中使用Selenium WebDriver获得元素的CSS值(例如颜色)

来自分类Dev

如何在Python中使用Selenium WebDriver获取元素的CSS值(例如颜色)

来自分类Dev

css/xpath 选择器在使用 selenium webdriver (java) 时排除元素中的子节点

来自分类Dev

通过执行javascript在python中使用selenium webdriver隐藏元素

来自分类Dev

如何在输入类型的python中使用webdriver selenium选择下拉列表元素?

来自分类Dev

如何通过硒使用CSS选择器查找元素

来自分类Dev

Webdriver / Selenium:当元素没有类名,ID或CSS选择器时如何查找?

来自分类Dev

通过Python Selenium WebDriver使用javascript语句查找网络元素

来自分类Dev

如何使用Selenium Webdriver(Python)随机选择并单击元素?

来自分类Dev

如何通过Python使用Selenium WebDriver在iframe中定位元素

来自分类Dev

如何使用CSS 2.0选择器通过在父元素上设置的属性来选择元素?

来自分类Dev

如何在Python中使用Selenium WebDriver获取文本

来自分类Dev

如何在Python中使用Selenium Webdriver提取文本?

来自分类Dev

如何在Python中使用Selenium Webdriver提取Webelement

来自分类Dev

如何在 Python 中使用 Selenium WebDriver 根据 html 选择复选框

来自分类Dev

Python 使用 selenium webdriver 获取元素的 CSS 颜色值

来自分类Dev

如何使用webdriver中的CSS选择器按值定位元素?

来自分类Dev

使用Selenium Webdriver通过包含的文本选择元素

来自分类Dev

使用cssSelector通过文本选择嵌套元素-Selenium WebDriver

来自分类Dev

在Python中使用Selenium Webdriver基于文本搜索元素

来自分类Dev

selenium python css选择器找不到元素

来自分类Dev

如何在Selenium WebDriver中使用TestNg?

来自分类Dev

如何在 Selenium 和 Python 中通过 xpath 选择元素?

来自分类Dev

如何在 Webdriver 中将目标值写为 CSS 选择器以查找元素

来自分类Dev

如何通过CSS选择器定位硒元素

来自分类Dev

如何在 Python 中使 Selenium WebDriver 休眠几毫秒

来自分类Dev

如何通过Selenium、WebDriver和Python在页面中查找jQuery动态加载的元素

来自分类Dev

如何在python中使用webdriver选择下拉列表值

来自分类Dev

如何在C#中使用CSS选择器定位Web元素列表

Related 相关文章

  1. 1

    如何在Python中使用Selenium WebDriver获得元素的CSS值(例如颜色)

  2. 2

    如何在Python中使用Selenium WebDriver获取元素的CSS值(例如颜色)

  3. 3

    css/xpath 选择器在使用 selenium webdriver (java) 时排除元素中的子节点

  4. 4

    通过执行javascript在python中使用selenium webdriver隐藏元素

  5. 5

    如何在输入类型的python中使用webdriver selenium选择下拉列表元素?

  6. 6

    如何通过硒使用CSS选择器查找元素

  7. 7

    Webdriver / Selenium:当元素没有类名,ID或CSS选择器时如何查找?

  8. 8

    通过Python Selenium WebDriver使用javascript语句查找网络元素

  9. 9

    如何使用Selenium Webdriver(Python)随机选择并单击元素?

  10. 10

    如何通过Python使用Selenium WebDriver在iframe中定位元素

  11. 11

    如何使用CSS 2.0选择器通过在父元素上设置的属性来选择元素?

  12. 12

    如何在Python中使用Selenium WebDriver获取文本

  13. 13

    如何在Python中使用Selenium Webdriver提取文本?

  14. 14

    如何在Python中使用Selenium Webdriver提取Webelement

  15. 15

    如何在 Python 中使用 Selenium WebDriver 根据 html 选择复选框

  16. 16

    Python 使用 selenium webdriver 获取元素的 CSS 颜色值

  17. 17

    如何使用webdriver中的CSS选择器按值定位元素?

  18. 18

    使用Selenium Webdriver通过包含的文本选择元素

  19. 19

    使用cssSelector通过文本选择嵌套元素-Selenium WebDriver

  20. 20

    在Python中使用Selenium Webdriver基于文本搜索元素

  21. 21

    selenium python css选择器找不到元素

  22. 22

    如何在Selenium WebDriver中使用TestNg?

  23. 23

    如何在 Selenium 和 Python 中通过 xpath 选择元素?

  24. 24

    如何在 Webdriver 中将目标值写为 CSS 选择器以查找元素

  25. 25

    如何通过CSS选择器定位硒元素

  26. 26

    如何在 Python 中使 Selenium WebDriver 休眠几毫秒

  27. 27

    如何通过Selenium、WebDriver和Python在页面中查找jQuery动态加载的元素

  28. 28

    如何在python中使用webdriver选择下拉列表值

  29. 29

    如何在C#中使用CSS选择器定位Web元素列表

热门标签

归档