博客
关于我
《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创建用户、角色、授权、建表
查看>>
Oracle创建用户与授予表空间与权限
查看>>
oracle删除重复数据保留第一条记录
查看>>
Oracle发布VirtualBox 7.1稳定版!支持ARM、优化了UI、支持Wayland等
查看>>
oracle启动关闭服务,启动关闭oracle服务.bat
查看>>
Oracle命令行创建数据库
查看>>
Oracle和SQL server的数据类型比较
查看>>
oracle在日本遇到的技术问题
查看>>
oracle基础 管理索引
查看>>
oracle如何修改单个用户密码永不过期
查看>>
oracle字符集
查看>>
Oracle学习
查看>>
oracle数据库笔记---oracleweb视图使用流程,及plsql安装
查看>>
Transformer 架构解释
查看>>
Oracle数据库表空间 数据文件 用户 以及表创建的SQL代码
查看>>
Oracle数据库验证IMP导入元数据是否会覆盖历史表数据
查看>>
Oracle未开启审计情况下追踪表变更记录
查看>>
Oracle查看数据库会话连接
查看>>
oracle树形查询 start with connect by
查看>>
oracle毕业论文题目,历届毕业论文申报题目大全.doc
查看>>