【发布时间】:2019-11-23 06:51:07
【问题描述】:
我正在尝试使用 python、Selenium 和 Chrome 阅读网页,但似乎无法检索搜索到的元素的内容。 任何帮助和指示都会很有用。
这是我编写的代码的摘录
thElements = header.find_elements(By.XPATH, "th")
iPos = 1
headArray = ['Risk Category']
for thElement in thElements:
iPos = iPos + 1
print(thElement.text)
print(thElement.get_attribute('innerHTML'))
headArray.append(thElement.text.strip())
innerHTML 被打印为(我只显示检索到的 7 个元素中的 5 个。它总共检索 7 个。)
<div class="dataTables_sizing" style="height:0;overflow:hidden;">
<a href="javascript:void(0);" onclick="docmentView('TSK6277482')">28-Dec-2016</a>
</div>
<div class="dataTables_sizing" style="height:0;overflow:hidden;">
<a href="javascript:void(0);" onclick="docmentView('TSK6526019')">15-Jun-2017</a>
</div>
<div class="dataTables_sizing" style="height:0;overflow:hidden;">
<a href="javascript:void(0);" onclick="docmentView('TSK7087944')">19-Oct-2017</a>
</div>
<div class="dataTables_sizing" style="height:0;overflow:hidden;">
<a href="javascript:void(0);" onclick="docmentView('TSK7537802')">25-May-2018</a>
</div>
<div class="dataTables_sizing" style="height:0;overflow:hidden;">
<a href="http://xxx.comp.org/project/secure/sap/forms/isr?stage=IMP&projId=P127866" target="_new">31-Jan-2019</a>
</div>
print(thElement.text) 没有给我任何东西。我希望我在打印 thElement.text 时得到 <a> 标签内的日期
感谢您对此的任何指示。
【问题讨论】:
-
进一步的搜索让我了解到 thElement 所在的 div 元素是隐藏的(样式属性是这样说的。)。可以使用 thElement.get_attribute('textContent') 而不是 thElement.text 访问隐藏元素的文本。请参阅yizeng.me/2014/04/08/… 了解更多信息。
标签: python python-2.7 selenium selenium-chromedriver