如何仅在python selenium中获取第一层子元素

use*_*967 7 python selenium selenium-webdriver

如何获取selenium python中仅第一层子元素的列表?

我想要类似于此处描述的内容:Selenium Python get all child elements

但是,我只想要第一层子元素。我附上了一张图片来解释。

子列表问题

如果我按照其他条目中的描述进行操作,我将获得所有 sub 和 sub sub....... 元素。我只想要第一层,如图像中显示的 4 个 div 元素,而不是 8 个子子元素。

小智 7

自版本 4.8.3 更新

它是:

from selenium.webdriver.common.by import By

elem.find_elements(By.XPATH, "./*")
Run Code Online (Sandbox Code Playgroud)

当您输入 时".//*",它会获取树中所有可能的子级,但使用斜杠"./*"只会获取下一级的子级。


ale*_*cxe 3

是的,您需要指定直接的父子关系/,可以在 XPath 中通过单个选择器以及在 CSS 选择器中通过以下方式完成>

driver.find_elements_by_xpath("//section[@id = 'irq']/div/div[@eid]")
driver.find_elements_by_css_selector("section#irq > div > div[eid]")
Run Code Online (Sandbox Code Playgroud)

请重新检查irqeid如果我从屏幕截图中得到了正确的结果(有点模糊)。