element not visible的解决方法

抛出异常主题为element not visible主要有一下三个方面的原因。

  1. 元素之间存在逻辑关系,比如你要选择地址时,中国选择完毕之后,才能选择北京。如果想直接一步到位,则会出现element not visible。这种错误并不是元素定位错误所引起的,而是逻辑关系上没有走通。解决办法:注意逻辑顺序的选取,按照网站的要求激活一个在激活下一个。这里面要注意一点的就是在是用Firefox的时候,我的逻辑关系是没有错误的,但是Firefox还是会给我报错element not visible。后来换成chrome浏览器,问题就可以解决。
  2. 元素定位错误:如果网页中存在你需要定位的多个元素,如果出现element not visible,有可能是你想要的定位和现实的定位出现了不同,解决办法也就是定位更精确,即定位更有区分性。可以采用By.Id,By.xpath(expression)方式。
  3. 元素定位到一个鼠标事件后才能进行事件触发的位置上:比如,需要鼠标移动到某个区域,元素才可以显示点击的按钮,如果鼠标离开,则相应的事件也没办法触发。解决办法:问题都已经描述清楚了,响应的解决办法也就有了,那就是引入action类,模拟鼠标移动到需要定位的元素下,让dom树从新生成,然后定位相应的元素。下面是我的一段鼠标移动代码:
时间: 2024-10-07 10:33:02

element not visible的解决方法的相关文章

Type cvc-complex-type.2.4.a: Invalid content was found starting with element 'build'.错误的解决方法

项目突然间爆出了这样的问题: Description Resource Path Location Typecvc-complex-type.2.4.a: Invalid content was found starting with element 'build'. One of '{"http://maven.apache.org/POM/4.0.0":parent, "http://maven.apache.org/POM/4.0.0":name, "

Array types are now written with the brackets around the element type问题的解决方法

在xcode6.1中来编写swift空数组时,出现的的这个问题,按照官方 Swift 教程<The Swift Programming Language>来写 let emptyArray = String[]() 时会提示"Array types are now written with the brackets around the element type"错误,正确的写法应该是 let emptyArray = [String]() 其它类型类似来处理即可

Firefox上运行自动化测试脚本提示元素无法点击“WebDriverException: Message: Element is not clickable at point“解决方法

1. Firefox上运行脚本时提示“WebDriverException: Message: Element is not clickable at point (934.316650390625, 700.316650390625). Other element would receive the click:” 2.分析原因: (1)首先肯定不是因为页面元素不存在而无法点击,也不是要点击的button不在预览范围内. (2)可能是被前一步的操作的一个弹出层挡住了.因为前几步是弹出了一个mo

selenium.common.exceptions.ElementNotVisibleException: Message: element not visible处理方法:selenium针对下拉菜单事件的处理

使用Selenium爬虫时,可能会遇到一些下拉菜单,动态加载,如果直接使用find_element_by_函数会报错,显示selenium.common.exceptions.ElementNotVisibleException: Message: element not visible. 意思是element是不可见的.所以无法获取到.这时候就遇到一个难题,怎么把element变成可见的呢? 这时候,我们就用ActionChains来模拟效果 ActionChains(driver).clic

【vue开发问题-解决方法】(二)element UI日期控件失效

问题:在vue项目中使用elementUI,使用日期控件的时候出现错误 而正常情况下,点击日期控件会出现以下面板: 查看代码:与elementUI官网中的代码一致,绑定的数据也都是data:''形式 然后又看了控制台输出的错误信息:堆栈溢出 网上查看这些信息都是js问题,但是vue的js和elementUI的js都是压缩版不能调试,因为vue和elementUI都是使用CDN引入的,所以猜想是否是elementUI的CDN引入文件错误,改用官网的网络链接,也没用.突发奇想将elementUI引入

用bootstrap兼容ie各大浏览器的解决方法

以bootstrap为框架常常会出现不兼容ie各大浏览器的问题,用以下代码基本可以解决,一般在<head></head>加入以下代码后,网页可能还一些比较不美观,再写一点css hack就可以了,如果加入以下代码网页还是特别乱,请检查一下你的css和js的文件顺序,有加载顺序的... <!--[if lte IE 6]> <link rel="stylesheet" type="text/css" href="st

NHibernate常见问题及解决方法

NHibernate常见问题及解决方法 曾经学过NHibernate的,但是自从工作到现在快一年了却从未用到过,近来要巩固一下却发现忘记了许多,一个"in expected: <end-of-text> (possibly an invalid or unmapped class name was used in the query)."错误查了好半天终于查到了.这篇文章是我转载的NHibernate的常见错误... hbm.xmlNHibernate文件中版本号可能引起的

Spring学习总结(14)——Spring10种常见异常解决方法

在程序员生涯当中,提到最多的应该就是SSH三大框架了.作为第一大框架的Spring框架,我们经常使用. 然而在使用过程中,遇到过很多的常见异常,我在这里总结一下,大家共勉. 一.找不到配置文件的异常 [plain] view plaincopy org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [com/

css的兼容性问题和解决方法

1. 默认的内外边距不同 问题: 各个浏览器默认的内外边距不同 解决: *{margin:0;padding:0;} 2. 水平居中的问题 问题: 设置 text-align: center ie6-7文本居中,嵌套的块元素也会居中 ff /opera /safari /ie8文本会居中,嵌套块不会居中 解决: 块元素设置 1.margin-left:auto;margin-right:auto 2.margin:0 auto; 3. <div align=”center”>div> 3