博客
关于我
《python3 网络爬虫开发实战》Selenium使用过程中text方法无法获取节点信息文本值
阅读量:300 次
发布时间:2019-03-03

本文共 951 字,大约阅读时间需要 3 分钟。

在学习过程中,我遇到了一个问题,使用Selenium获取标签文本时发现内容为空。例如,在提取“设置”a标签的文本时,原本的代码无法获取到预期的信息。

最初的代码如下:

from selenium import webdriverbrowser = webdriver.Chrome()url = 'https://www.baidu.com'browser.get(url)input = browser.find_element_by_css_selector('.pf')print(input.text)browser.close()

运行结果显示,元素不存在,input.text 的值为 None。尝试使用 input.is_displayed() 方法后,发现返回值为 False,这表明元素可能被隐藏或不再存在于页面中。Selenium WebDriver 只会与可见元素交互,因此隐藏元素的文本信息会返回空字符串。

为了解决这个问题,我尝试使用 get_attribute('textContent') 方法来获取元素的文本内容。修改后的代码如下:

from selenium import webdriverbrowser = webdriver.Chrome()url = 'https://www.baidu.com'browser.get(url)input = browser.find_element_by_css_selector('.pf')print(input.get_attribute('textContent'))browser.close()

运行后,能够成功获取到 “设置” a 标签的文本内容。这种方法适用于获取隐藏或不可见元素的文本信息。

通过这个实验,我学会了一个重要的技巧:当 find_element_by_css_selector 方法无法找到元素时,使用 get_attribute('textContent')get_attribute('innerText') 方法可以获取元素的文本内容。这个方法特别适用于处理隐藏或不可见的元素。

总结一下,解决问题的关键在于理解Selenium的工作原理,并掌握正确的方法来获取元素的文本信息。

转载地址:http://vvhl.baihongyu.com/

你可能感兴趣的文章
Oracle 11g中的snapshot standby特性
查看>>
Oracle 11g关闭用户连接审计
查看>>
Oracle 11g忘记sys、system、scott密码该这样修改!
查看>>
Oracle 11g数据库安装和卸载教程
查看>>
Oracle 11g数据库成功安装创建详细步骤
查看>>
Oracle 11g超详细安装步骤
查看>>
Oracle 12c中的MGMTDB
查看>>
Oracle 12c安装报错Installation failed to access the temporary location(无法访问临时位置)...
查看>>
Oracle 9i数据库管理教程
查看>>
ORACLE Active dataguard 一个latch: row cache objects BUG
查看>>
oracle avg、count、max、min、sum、having、any、all、nvl的用法
查看>>
Oracle BEQ方式连接配置
查看>>
oracle Blob保存方式,oracle 存储过程操作blob
查看>>
Oracle BMW Racing sailing vessel帆船图
查看>>
ORACLE Bug 4431215 引发的血案—原因分析篇
查看>>
Oracle Business Intelligence Downloads
查看>>
Oracle cmd乱码
查看>>
Oracle Corp甲骨文公司推出Oracle NoSQL数据库2.0版
查看>>
【Docker知识】将环境变量传递到容器
查看>>
uniapp超全user-agent判断 包括微信开发工具 hbuilder mac windows 安卓ios端及本地识别
查看>>