Python Selenium:查找h1元素,但返回空文本字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python Selenium:查找h1元素,但返回空文本字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1070字,纯文字阅读大概需要2分钟。
内容图文
![Python Selenium:查找h1元素,但返回空文本字符串](/upload/InfoBanner/zyjiaocheng/694/bbdffb9be40b448692dfc56480d103b9.jpg)
我正在尝试在此page的标题中获取文本:
iShares FTSE MIB UCITS ETF EUR (Dist)
标签如下所示:
<h1 class="product-title" title="iShares FTSE MIB UCITS ETF EUR (Dist)"> iShares FTSE MIB UCITS ETF EUR (Dist) </h1>
我正在使用此xPath:
xp_name = ".//*[@class[contains(normalize-space(.), 'product-title')]]"
在Selenium WebDriver for Python中通过.text检索:
new_name = driver.find_element_by_xpath(xp_name).text
驱动程序找到了xpath,但是当我打印new_name时,macOS Terminal仅打印空白字符串:“”
这可能是什么原因?
注意:我还尝试了其他xpath替代方法,获得了相同的结果,例如:
xp_name = ".//*[@id='fundHeader']//h1"
解决方法:
问题在于,有两个具有完全相同的外部HTML的h1元素:第一个是隐藏的,第二个不是.你可以用
print(len(driver.find_elements_by_xpath('//h1[@class="product-title "]')))
text属性允许您仅从可见元素获取文本,而textContent属性还允许获取隐藏元素的文本
尝试更换
new_name = driver.find_element_by_xpath(xp_name).text
同
new_name = driver.find_element_by_xpath(xp_name).get_attribute('textContent')
或简单地处理第二个(可见)标头:
driver.find_elements_by_xpath('//h1[@class="product-title "]')[1].text
内容总结
以上是互联网集市为您收集整理的Python Selenium:查找h1元素,但返回空文本字符串全部内容,希望文章能够帮你解决Python Selenium:查找h1元素,但返回空文本字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。