selenium定位元素提示‘元素不可见’问题解决方法
最近在使用selenium的过程中发现有元素能够在页面中查找到,但是pycharm中运行时始终报错element not visible,于是使用如下方法成功解决问题。
1.driver.find_element_by_xpath("").is_displayed() 首先使用is_displayed()方法查看这个元素,发现返回的是False,说明该元素不可见。
2.浏览器中查看到该元素没有什么不可见的属性,那么再往上找,发现父元素中有一个dispaly:none。
3.通过js语句修改该属性。首先在浏览器中的console找到该元素并修改,发现可以修改成功,document.getElementsByClassName('')[0].style.display='block' 注意:我这里找到的元素有多个,所以需要使用[]来找到具体要修改的
4.在python中使用js语句js = "document.getElementsByClassName('')[0].style.display='block'" driver.execute_script(js)
5.成功找到该元素并可进行操作
selenium定位元素提示‘元素不可见’问题解决方法的更多相关文章
- Python3 Selenium定位不到元素常见原因及解决办法
Python3 Selenium定位不到元素常见原因及解决办法 一.问题描述 在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况: 报错信息: no such e ...
- selenium定位不到元素
selenium定位不到元素时,网上大部分查到都是iFrame的切换问题,然后是多窗口.句柄的处理问题, 在初学是遇到定位不到元素,一直在找上面的问题,发现都不是上面的问题, 后来才发现是页面刷新的问 ...
- Selenium定位一 --单个元素定位方法
Selenium-Webdriver 提供了强大的元素定位方法,支持以下三种方法. 单个对象的定位方法 多个对象的定位方法 层级定位 定位单个元素在定位单个元素时,selenium-webdriver ...
- Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException ...
- Python+selenium学习(二) selenium 定位不到元素
转载:https://www.cnblogs.com/tarrying/p/9681991.html tarrying selenium的三种等待时间 //隐式等待(20秒以内没哥一段时间就会去找元素 ...
- 为什么selenium定位不到元素
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况,一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理 ...
- Selenium定位不到元素的解决方法—iframe挡住了去路
刚接触Selenium,在调试过程中发现有些元素定位不到,于是求助了百度,查找到的资料是这么说的:如果需要定位的元素在某个frame里,则单独通过id/name/xpath是定位不到此元素的.比如,原 ...
- 关于Python+selenium 定位浏览器弹窗元素
首先要确定弹窗的类型: (1)div弹窗 (2)新标签页弹窗 (3)alert弹窗 一,div弹窗div弹窗是浏览器中比较好定位的弹窗,定位的方法与普通的元素一样.不过这里会有一个坑,明明可以找到这个 ...
- selenium 定位不到元素总结
元素在网页上,却会出现定位不到的情况的分析. 1. 定位不正确. 2. 页面还没有加载完就去查找元素了. 3. 有遮罩层. 首先说下第3点. 先前在公司遇到过这样的问题. 页面是显示出来了, 这个元素 ...
随机推荐
- hadoop文件写入
转:http://blog.csdn.net/xiaoshunzi111/article/details/48198105 由上图可知;写入文件分为三个角色,分别是clientnode nameno ...
- 24-从零玩转JavaWeb-包装类、自动装箱、自动拆箱
一.什么是包装类 二.对基本数据类型包装的好处 三.装箱操作 四.拆箱操作 五.自动装箱 六.自动拆箱 七.字符串与基本数据类型和包装类的转换 八.包装类的缓存设计
- 说说API的重放机制
API的重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果这个正 ...
- Oracle & SQL Server 数据传输
在开发中用到的Oracle与SQL Server间数据传输的不同方法的整理,比较.包括原理的简介,配置和实现方法,优缺点的比较,使用平台和DB,适合的应用范围和效能的比较. 整理的方法有如下六种: 1 ...
- ECShop研究:去掉标题中的Powered by ECShop和meta的<meta name="Generator" content="ECSHOP v2.7.3" />
本文以ECSHOP v2.7.3为说明,其他版本可能有所不同. 标题中的Powered by ECShop去除方法: 打开includes/lib_main.php文件: 找到156行:$page_t ...
- PHP开发札记-星期/周操作中常用的日期获取方法
本周一echo date('Y-m-d',(time()-((date('w')==0?7:date('w'))-1)*24*3600)); //w为星期几的数字形式,这里0为周日 本周日 echo ...
- 690. Employee Importance员工权限重要性
[抄题]: You are given a data structure of employee information, which includes the employee's unique i ...
- 一个可用模板的Xml描述
<?xml version="1.0" encoding="utf-8"?> <VMTEMPLATE> <ID>48< ...
- Docker学习笔记_安装和使用Rabbitmq
一.准备 1.宿主机OS:Win10 64bit 2.虚拟机OS:Ubuntu18.04 3.账号:docker 4.虚拟机IP:192.168.8.25 二.安装 1.搜索镜像 ...
- jQuery基础教程-第8章-001Adding new global functions
一. 1.To add a function to the jQuery namespace, we can just assign the new function asa property of ...