我正在尝试遍历多个节点并从父节点接收各种子节点。假设我有类似以下结构的东西:
<div class="wrapper">
<div class="item">
<div class="item-footer">
<div class="item-type">Some data in here</div>
</div>
</div>
<!-- More items listed here -->
</div>
我可以使用以下方法接收包装器容器的所有子节点。
wrapper = driver.find_element(By.XPATH, '/html/body/div')
items = wrapper.find_elements(By.XPATH, './/*')
无论如何,我无法弄清楚现在如何接收包含有关项目类型的信息的容器的内部 HTML。我试过这个,但是没用。
for item in items:
item_type = item.item.find_element(By.XPATH, './/div/div').get_attribute('innerHTML')
print(item_type)
这会导致以下错误:
NoSuchElementException: Message: Unable to locate element:
有人知道我该怎么做吗?
最佳答案
如果你想要获取的所有元素都是 div
并且 class
属性值 item-type
位于 div
具有 class
属性值 item-footer
您可以简单地执行以下操作:
elements = driver.find_element(By.XPATH, '//div[@class="item-footer"]//div[@class="item-type"]')
for element in elements:
data = element.get_attribute('innerHTML')
print(data)
关于python - 如何在 selenium (python) 中接收子节点的内部 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70293338/