首页 > 解决方案 > 硒元素数据提取

问题描述

我有这种类型的页面

<body>
<p> This is a demo page </P>
<div id=1>
<div>
<p>hii hiidbvsvdvif </P>
<p>hii hiidbvsvdvif </P>
<p>hii hiidbvsvdvif </P>
<p>hii hiidbvsvdvif </P>
<p>hii hiidbvsvdvif </P>
</div>
</div>
</body>

我使用硒来存在。但我无法得到我的结果

driver.find_element_by_id("1")

我需要像这样的相同输出:所有“p”标签和“div”标签都是一样的

<div id="1">
<div>
<p>hii hiidbvsvdvif </P>
<p>hii hiidbvsvdvif </P>
<p>hii hiidbvsvdvif </P>
<p>hii hiidbvsvdvif </P>
<p>hii hiidbvsvdvif </P>
</div>
</div>

任何人请帮助我

标签: pythonhtmlseleniumselenium-webdriver

解决方案


如果 div 是子元素 如果 id 为 1 且 p 的 div 是该元素的子元素,则使用:

words =  driver.find_elements_by_xpath("//div[@id=\"1\"]//p")
for word in words:
    print(word.text)

如果文本在 UI 中不可见,有时文本将不起作用(如果它不在屏幕视图中)

你需要使用 getAttribute("textContent")

words =  driver.find_elements_by_xpath("//div[@id=\"1\"]//p")
for word in words:
    print(word.getAttribute("textContent"))

推荐阅读