博客
关于我
《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 INDEX FULL SCAN 和 INDEX FAST FULL SCAN 对比分析
查看>>
Oracle 11g 使用RMAN备份数据库
查看>>
Oracle 11g 单实例安装文档
查看>>
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
查看>>
Oracle 11g中的snapshot standby特性
查看>>
Oracle 11g忘记sys、system、scott密码该这样修改!
查看>>
Oracle 11g数据库安装和卸载教程
查看>>
Oracle 11g超详细安装步骤
查看>>
Oracle 12c中的MGMTDB
查看>>
oracle avg、count、max、min、sum、having、any、all、nvl的用法
查看>>
Oracle BEQ方式连接配置
查看>>
Oracle BMW Racing sailing vessel帆船图
查看>>
ORACLE Bug 4431215 引发的血案—原因分析篇
查看>>
Oracle Corp甲骨文公司推出Oracle NoSQL数据库2.0版
查看>>
oracle dblink 创建使用 垮库转移数据
查看>>
oracle dblink结合同义词的用法 PLS-00352:无法访问另一数据库
查看>>
Oracle dbms_job.submit参数错误导致问题(ora-12011 无法执行1作业)
查看>>
oracle dg switchover,DG Switchover fails
查看>>
Oracle EBS OPM 发放生产批
查看>>
Oracle EBS-SQL (BOM-15):检查多层BOM(含common BOM).sql
查看>>