爬虫-Selenium -抱错ElementNotVisibleException: Message: element not visible
1.当使用Selenium IDE 完成了脚本的录制和回放通过后,想要将脚本转换为其他语言如java、Python等,首次使用时打开Options-》Format发现没有可以转换的语言,如下:
这个时候需要设置一下,打开Options-》Options,勾选如下选项允许扩展功能,如下:
保存后重新打开Options-》Format,就可以将脚本转换成你想要的语言来显示,如下:
点击转换后,就可以将脚本装换成你想要的语言来表示,如转换成Python语言的脚本:
Selenium Webdriver
1.使用chrome浏览器运行脚本的配置
首先需要下载chromedriver,下载可以到如下地址自由选择下载版本,我选择最新的V2.9版本(我的是放在和Python安装路径目录下):
http://chromedriver.storage.googleapis.com/index.html
下载完成后,将chromedriver解压缩,将当前存放ChromeDriver.exe的路径加到系统变量path路径下:
完成后就可以在脚本中通过调用ChromeDriver来运行Chrome浏览器执行脚本:
2.当出现如下错误时:ElementNotVisibleException: Message: element not visible,表示元素初始是不可见,首先确保你的定位没有问题后,有可能是因为页面加载没有完成导致无法定位到该元素,可以通过添加:
time.sleep(5) #延时5秒
解决问题,延时时间自己根据实际情况确认,一般在页面跳转或打开不同页面是需要添加。
3.当出现如下错误:Element is not clickable at point
主要原因是这个按钮不是可点击的按钮,可以根据错误提示进行替换备用按钮;或者由于该按钮被其他东西阻挡(弹框、浏览器没有最大化)导致无法点击,可以根据时间情况修改。
ps:我就是没有把浏览器最大化导致点击失败的!囧
4.selenium出现click单击无效无效的情况如何处理?
一般出现click单击无效的情况,主要是由于失去了跳转点击时出现失去焦点的问题(具体原因未知),可以参考解决方法:
(a)点击前先按下tab键(其他按键也可以考虑)再进行点击可以解决:
driver.find_element_by_xpath(".//*[@id='dologin']").send_keys(Keys.TAB)
driver.find_element_by_xpath(".//*[@id='dologin']").click()
(b)也可以考虑点击2次可以解决:
driver.find_element_by_xpath(".//*[@id='dologin']").click()
driver.find_element_by_xpath(".//*[@id='dologin']").click()
5.当出现如下错误selenium.common.exceptions.StaleElementReferenceException:
Message: stale element reference: element is not attached to the page
document,意思是页面元素没有连接成功,一般是由于返回或刷新页面导致丢失,解决版本可以参考:
(a)重新刷新加载页面
(b)重新获取页面元素
6.Selenium webdriver启动chrome浏览器出现提示:--ignore certificate errors
爬虫-Selenium -抱错ElementNotVisibleException: Message: element not visible的更多相关文章
- selenium.common.exceptions.ElementNotVisibleException: Message: element not visible处理方法:selenium针对下拉菜单事件的处理
使用Selenium爬虫时,可能会遇到一些下拉菜单,动态加载,如果直接使用find_element_by_函数会报错,显示selenium.common.exceptions.ElementNotVi ...
- ElementNotVisibleException: Message: element not visible
selenium自动化测试中,经常会报异常: 可能会有各种疑问,元素可以定位到啊.为什么报以下异常? ElementNotVisibleException: Message: element not ...
- python + web自动化,点击不生效,提示“selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable at point (117, 674)”
前言: 在做web自动化时,遇到一个缩放了浏览器比例的操作,从100%缩小到80%,再进行点击的时候,弹出报错信息,无法点击 selenium.common.exceptions.ElementCli ...
- selenium之 坑(StaleElementReferenceException: Message: Element not found in the cache...)
今天给大家分享一个selenium中经常会有人遇到的坑: selenium.common.exceptions.StaleElementReferenceException: Message: Ele ...
- python+selenium:点击页面元素时报错:WebDriverException: Message: Element is not clickable at point (1372.5, 9.5). Other element would receive the click: <li style="display: list-item;" id="tuanbox"></li>
遇到一个非常郁闷的问题,终于解决了, 问题是这样的,NN网站的价格计划,每一个价格计划需要三连击才能全部点开,第一个房型的价格计划是可以正确三连击打开的,可是第二个房弄就不行了,报错说不是可点击的 ...
- python控制selenium点击登录按钮时报错 unknown error: Element is not clickable at point
利用python控制selenium进行一个网页的登录时报错: C:\Users\Desktop\selenium\chrome>python chrome.py selenium.common ...
- python selenium 报错unknown error: cannot focus element 解决办法
登录框由于js限制,定位到元素后无法sendkey ,sendky报错如下: selenium.common.exceptions.WebDriverException: Message: unkno ...
- selenium之坑:点击后页面刷新重新获取刷新前的页面(StaleElementReferenceException:Message:Element not found in the cache...)
循环点击一列链接,但只能点到第一个,第二个失败,这是为什么,因为第二个已经是新页面,当然找不到之前页面的元素,虽然元素没变,甚至是后退回来,页面都没有变,为什么是新页面,页面长的一样不代表是同一张页面 ...
- selenium之坑(StaleElementReferenceException: Message: Element not found in the cache...)
有时候循环点击一列链接,只能点到第一个,第二个就失败了 原因是第二个已经是新页面,当然找不到之前页面的元素.就算是后退回来的,页面也是不一样的 页面长的一样不一定是同一张页面,就像两个人长的一样不一定 ...
随机推荐
- 14.【nuxt起步】-Pm2 和nuxt服务运行
1.安装pm2 npm install pm2 -gd 2.启动 Pm2 start ./bin/www 3. pm2 save 4.Pm2 startup 5.Pm2 save修改 package. ...
- 刘下记录:ImageView.scaleType 属性全解析(含视频)
0. 译序 原文:Working with the ImageView ImageView 有一个经常使用场景:ImageView 的宽度固定,高度等比例缩放.且 ImageView 在 paddin ...
- MyBatis-Invalid bound statement (not found)-问题处理
最近把工程改为Hibernate和MyBatis并存,并存只要注意两点即可: 1.使用同一个dataSource 2.事物交给Hibernate进行管理(Hibernate4+) Hibernate ...
- Usage of API documented as @since1.6+
Usage of API documented as @since1.6+ File ->Project Structure->Project Settings -> Modules ...
- fastjson的常用用法以及自定义排序
fastJson的四种常用方法 JSON 转 POJO public static <T> T getObject(String pojo, Class<T> tclass) ...
- 【音乐App】—— Vue-music 项目学习笔记:歌曲列表组件开发
前言:以下内容均为学习慕课网高级实战课程的实践爬坑笔记. 项目github地址:https://github.com/66Web/ljq_vue_music,欢迎Star. 当前歌曲播放列表 添加歌曲 ...
- 获取类路径中含有beans.xml的jar包名称
获取类路径中含有beans.xml的jar包名称 package com.stono; import java.io.File; import java.io.IOException; import ...
- linux 下route命令
参考:http://blog.sina.com.cn/s/blog_67146a750100zoyi.html 为了让设备能访问另一个子网,需要在设备里增加路由到子网络,下面是一些资料.基本操作如下: ...
- Linux在中国正在走向没落
在中国,Linux正在走向没落,一片萧条景象. 在这样的大背景下.居然有人愿意接手中科红旗,令人佩服! 在中国,没有一个关于国际Linux的官方刊物(或站点)反映国际Linux运动的真实声音.Linu ...
- 读懂JVM垃圾收集日志
JVM垃圾收集搞懂原理很重要,但是连垃圾收集的日志都不懂,这tmd还分析个屁的问题啊,典型的空有理论知识,动手实践为零.本篇就来具体的学习一下JVM中的垃圾收集日志. 第一步,垃圾收集的选项 图1 J ...