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

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

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

最初的代码如下:

from selenium import webdriver
browser = 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 webdriver
browser = 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/

你可能感兴趣的文章
mysql 主从关系切换
查看>>
MYSQL 主从同步文档的大坑
查看>>
mysql 主键重复则覆盖_数据库主键不能重复
查看>>
Mysql 事务知识点与优化建议
查看>>
Mysql 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>
mysql 内连接、自然连接、外连接的区别
查看>>
mysql 写入慢优化
查看>>
mysql 分组统计SQL语句
查看>>
Mysql 分页
查看>>
Mysql 分页语句 Limit原理
查看>>
MySql 创建函数 Error Code : 1418
查看>>
MySQL 创建新用户及授予权限的完整流程
查看>>
mysql 创建表,不能包含关键字values 以及 表id自增问题
查看>>