selenium提取不了标签文本
1.举个例子:selenium使用driver.find_element_by_xpath().text 提取不到标签文本??
如果我们提取的元素文本为空时,而不是我们想要的文本时,这时可能就是因为你所定位的元素被隐藏了,我们确认下是不是真的被隐藏了。。。
1.判断是否被隐藏
aa = driver.find_element_by_xx().is_displayed()
print(aa)
打印结果,如果返回false.那就说明被隐藏了
2.怎么解决?
方法一: 修改页面当前定位元素,或者当前元素父元素的CSS,使元素的is_displayed() 值为true.
方法二: is_displayed() 为false的元素,依然可以通过getAttribute()方法获取元素的属性.
由于webdriver spec的定义,Selenium WebDriver 只会与可见元素交互,所以获取隐藏元素的文本总是会返回空字符串,可是,在某些情况下,我们需要获取隐藏元素的文本。这些内容可以使用element.attribute('attributeName'),
通过textContent, innerText, innerHTML等属性获取。
(1)innerHTML 会返回元素的内部 HTML, 包含所有的HTML标签。
例如,<div>Hello <p>World!</p></div>的innerHTML会得到Hello <p>World!</p>
(2)textContent 和 innerText 只会得到文本内容,而不会包含 HTML 标签,textContent 是 W3C 兼容的文字内容属性,但是 IE 不支持
(3)innerText 不是 W3C DOM 的指定内容,FireFox不支持、谷歌也不支持
举个例子
ss = driver.find_element_by_class_name('xxx') # 定位
print(ss.get_attribute("innerHTML")) # 用innerHTML 会返回元素的内部 HTML, 包含所有的HTML标签。
print(ss.get_attribute('textContent')) #用textContent 和 innerText 只会得到文本内容,而不会包含 HTML 标签。
print(ss.get_attribute('innerText')) #innerText 不是 W3C DOM 的指定内容,FireFox不支持
参考https://blog.csdn.net/boyStray/article/details/81065461
selenium提取不了标签文本的更多相关文章
- selenium 获取不了标签文本的解决方法
selenium 获取不了标签文本的解决方法 ------ 即driver.find_element_by_xxx().text() 为空的解决办法 如果得到的文本只为空,而非我们期望的baidu,那 ...
- NLP大赛冠军总结:300万知乎多标签文本分类任务(附深度学习源码)
NLP大赛冠军总结:300万知乎多标签文本分类任务(附深度学习源码) 七月,酷暑难耐,认识的几位同学参加知乎看山杯,均取得不错的排名.当时天池AI医疗大赛初赛结束,官方正在为复赛进行平台调 ...
- python+selenium遍历某一个标签中的内容
一.python+selenium遍历某一个标签中的内容 举个例子:我要获取列表标签<li></li>的内容 根据python+selenium定位到列表整体,使用for循环获 ...
- xpath提取多个标签下的text
title: xpath提取多个标签下的text author: 青南 date: 2015-01-17 16:01:07 categories: [Python] tags: [xpath,Pyth ...
- delphi Caption 垂直显示标签文本
//垂直显示标签文本 Label1.Caption:='垂'+#13+'直'+#13+'显'+#13+'示';//使用相同的方法,我们也可以制作垂直显示的提示(Hint):button1.Hint:= ...
- C#提取PPT文本——提取SmartArt中的文本、批注中的文本
提取文本的情况在工作和学习中常会遇到,在前面的文章中,已经讲述了如何提取PPT中文本框里的文本,在本篇文章中,将介绍如何使用C#代码语言提取PPT文档中SmartArt和批注中的文本.同样的,程序里面 ...
- selenium WebDriver 对浏览器标签页的切换
关于selenium WebDriver 对浏览器标签页的切换,现在的市面上最新的浏览器,当点击一个链接打开一个新的页面都是在浏览器中打开一个标签页,而selenium只能对窗口进行切换的方法,只能操 ...
- selenium获取新页面标签页(只弹出一个新页面的切换)
selenium获取新页面标签页(只弹出一个新页面的切换) windows = driver.current_window_handle #定位当前页面句柄 all_handles = driver. ...
- Highmaps网页图表教程之数据标签与标签文本
Highmaps网页图表教程之数据标签与标签文本 Highmaps数据标签 数据标签用于在地图图表上展现节点对应的数据.数据标签展现数据是静态的,只要节点一加载,数据标签就会出现在节点附近.在High ...
随机推荐
- C 语言sizeof运算符
#include<stdio.h> int main() { ; ); ; int size3 = sizeof a; int size4 = sizeof(a); int size5 = ...
- 导入C文件Xcode出现Could not build module 'Foundation'错误
#ifdef __OBJC__ #import <Foundation/Foundation.h> #import "UIImageView+WebCache.h" # ...
- 【记录】API Gateway作用? 与过滤器的区别?Nginx与Zuul区别?
网关(gateway)的作用: 网关可以拦截客户端所有请求,对该请求进行权限控制.负载均衡.日志管理.接口调用监控等 过滤器与网关的区别是什么? 过滤器是拦截单个tomcat服务器请求. 网关是拦截整 ...
- Android 5.1 预制输入法
Android修改默认输入法为讯飞方法如下: 首先将讯飞输入法apk预制到系统app中: 在firefly-rk3288_android5.1_git_20180126/out/target/prod ...
- 2019计蒜之道初赛第3场-阿里巴巴协助征战SARS 费马小定理降幂
题目链接:https://nanti.jisuanke.com/t/38352 发现规律之后就是算ans=2^(n-1)+4^(n-1).但是注意到n十分大是一个长度为1e5的数字.要想办法降幂. 我 ...
- STM32三种BOOT模式介绍
一.三种BOOT模式介绍 所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存.用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启 ...
- Django过滤器之safe
safe除了将html生成安全的文本外,还有将整型转为字符串: {% for user in user_list %} {% if user.id|safe == uid %} <li clas ...
- jquery实现表格复选框---多行选择问题(php变量)
1.html多选框标签行 表头的多选框,用于全选,取消全选 <th><input id='allSelected' type="checkbox">< ...
- bypass_safedog
1.SQL注入 手工bypass要点 先通过破坏关键字测试出拦截规则 之后进行针对性绕过 1.Mysql 1.1.联合注入 0x01 and绕过 直接 and 1=1 直接就会被拦截 在数值的前面加特 ...
- 在SpringCloud中MAVEN配置文件中的更改
<mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> ...