爬虫-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...)
有时候循环点击一列链接,只能点到第一个,第二个就失败了 原因是第二个已经是新页面,当然找不到之前页面的元素.就算是后退回来的,页面也是不一样的 页面长的一样不一定是同一张页面,就像两个人长的一样不一定 ...
随机推荐
- 使用log4net无法将日志记录插入mysql数据库解决办法
写在前面 今天没事研究了下,将日志文件写入mysql数据库,因为新公司用的数据库也是mysql,项目中需要将日志信息写入数据库,没办法,就研究了下.在使用过程中遇到一个很蛋疼的问题.最后解决了,郁闷了 ...
- MFC中 创建基于CFormView的文档视图程序
在MFC中可以创建多种类型的窗口程序,如对话框程序.单文档结构程序(非文档/视图结构).单文档(文档/视图结构)以及多文档视图结构程序等. 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对 ...
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》 第三步---主角开跑&同一时候带着刚体
说明:这里是借鉴:晓风残月前辈的博客.他是将泰然网的跑酷教程.用cocos2d-x 2.X 版本号重写的,眼下我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写,并做相关笔记 ...
- SpringMVC Controller 介绍【转】
链接地址: http://haohaoxuexi.iteye.com/blog/1753271
- ElasticSearch的备份迁移方案
使用插件repository-hdfs插件进行测试 下载地址: https://oss.sonatype.org/content/repositories/snapshots/org/elastics ...
- curses.h头文件不存在解决办法
sudo apt-get install libncurses5-dev安装,系统自带库文件一般在/usr/include下面,这个是安装curses.h的 conio不是c语言标准库,也不是posi ...
- <LeetCode OJ> 189. Rotate Array
189. Rotate Array Total Accepted: 55073 Total Submissions: 278176 Difficulty: Easy Rotate an array o ...
- Android Activity间动画跳转
本博文主要介绍activity间动画跳转的问题,在这里讲一下怎么设置全部activity的动画跳转和退出跳转.事实上有些软件已经这样做了.比方我们都比較熟悉的大众点评网. 以下我们通过一个实例来看一下 ...
- substring,subsequence,charAt执行效率的不同
package com.java.tencent; public class T_2_longestPalindrome { public String test1(String s){ long s ...
- 使用Docker开发NodeJs APP
英文版原文地址 这是两篇连载文章的第一篇,讲解了如何使用 Docker 替代 Vagrant 开发基于 Express 框架的NodeJs App的部分细节.不过,这次要增加点难度:我们要使用 con ...