【问题标题】:Print everything in div tag selenium python3打印 div 标签 selenium python3 中的所有内容
【发布时间】:2019-12-17 12:31:29
【问题描述】:

我正在尝试抓取一个网站,该网站在其 div 标签下有一些信息,如下所示

<div> id="searchResults" class="multiple-view-elements"
<span>name</name>
<span>info</name>
<span>info</name>

<span>name</name>
......

我的代码

print ('-------------------------------------------------------------')
resp=driver.find_elements_by_id('searchResults').text
print (resp)
driver.quit()

它给了我这个错误

AttributeError: 'list' 对象没有属性 'text'

我做错了什么?

【问题讨论】:

标签: python-3.x selenium selenium-webdriver


【解决方案1】:

因为您使用的是find_elements。返回元素列表和“列表”对象没有属性/方法“文本”

使用find_element 例如resp=driver.find_element_by_id('searchResults').text 获取单个元素

【讨论】:

【解决方案2】:

您尝试从 div 元素中获取 text 属性,但没有包含该元素的文本。

例如

<h3 class="LC20lb">Hi | Definition of Hi by Merriam-Webster</h3>

这里的标题 h3 包含 Hi | Merriam-Webster 对 Hi 的定义

因此,如果您在此处执行获取文本方法,您将获得“Hi | Merriam-Webster 对 Hi 的定义”,但您的 Web 元素 div 没有包含属性的文本,因此在此处获取文本失败。

所以只要把你的问题弄清楚你想要什么。

如果任何网页元素具有文本属性或任何包含文本,那么您可以尝试

String value= driver.findElement(By.id("")).getText();

【讨论】:

    猜你喜欢
    • 2012-12-07
    • 2019-11-16
    • 2018-11-08
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 2011-01-16
    相关资源
    最近更新 更多