使用 Selenium 和 Python 获取子元素

Mar*_*son 7 python selenium

我有这个 HTML:

<div id = "d029384">
<span>......</span>
</div>
Run Code Online (Sandbox Code Playgroud)

和我的代码:

elem = browser.find_elements_by_xpath("//div[contains(@id,'d')]")
Run Code Online (Sandbox Code Playgroud)

除了 div 不适用于我的程序正在执行的操作。我需要更具体。我需要 span 元素。我怎样才能得到跨度元素?每个 div 都有一个 id,它是 d + 数字。我需要这些数字,所以这就是我使用 xpath 的原因,但我不知道如何使最终的 WebElement 指向跨度而不是 div。

有人知道吗?

Mer*_*ury 7

或者不使用 xpath,你可以这样做(如果你在 div 中有一个跨度):

elem = browser.find_element_by_id("d029384").find_element_by_tag_name("span")
Run Code Online (Sandbox Code Playgroud)


unu*_*tbu 5

你找对了div吗?如果是这样,要了解span里面的内容div,只需添加/span

elem = browser.find_elements_by_xpath("//div[contains(@id,'d')]/span")
Run Code Online (Sandbox Code Playgroud)