python - 硒元素数据提取
问题描述
我有这种类型的页面
<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>
任何人请帮助我
解决方案
如果 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"))
推荐阅读
- python - 使用请求和会话正确验证 API 调用
- json - 如何验证 JSON 正文中的内容
- detox - 在 WebView 中定位元素
- javascript - Object.defineProperty 的 Set get 不能正常工作 undefined 被打印出来
- python - NoReverseMatch with arguments '(",)' in Django
- javascript - 将 OpenLayers 从 4.6.5 升级到 5.3.0 后不显示 TileWMS
- python-3.x - 如何在多个子目录中创建具有系列灰度图像的 4 维 ndarray
- javascript - 上传的视频无法使用 html 视频标签播放
- python - 如何在图像前面显示标签文本?
- javascript - Lodash forEach 对对象数组的迭代不正确