代码之家  ›  专栏  ›  技术社区  ›  Matthew Kaplan

如何使用Selenium和Python以嵌套方式访问HTML元素

  •  0
  • Matthew Kaplan  · 技术社区  · 2 年前

    我试图弄清楚如何通过Selenium和Python以嵌套方式访问HTML元素。

    例如,我有: box = driver.find_element_by_tag_name('tbody') 这代表了我想挖掘的数据主体。我想遍历这个主体中的每一行(每一行都有一个 <tr> 标记)使用如下方式:

    for driver.find_element_by_tag_name('tr') in box:

    但很明显,这是不可能的,因为box是一个Selenium对象,是不可替代的。

    做这样的事情最好的方法是什么?

    1 回复  |  直到 2 年前
        1
  •  0
  •   undetected Selenium    2 年前

    最佳的方法是建造 locator strategies 从父代到子代的过程如下:

    • 使用 CSS_选择器 :

      for element in driver.find_elements(By.CSS_SELECTOR, "tbody tr"):
          print(element.text)
      
    • 使用 XPATH :

      for element in driver.find_elements(By.XPATH, "//tbody//tr"):
          print(element.text)