selenium 错误集锦->ElementNotVisibleException

这里写图片描述

[error] Exception in thread “main”
org.openqa.selenium.ElementNotVisibleException:Element is not
currently visible and so may not be interacted with Command duration
or timeout:27 millseconds


Reason:大多数Web应用程序使用AJAX技术。当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成的。如果因为在加载某个元素时延迟而造成元素定位失败的情况,那么会降低自动化脚本的稳定性。所以需要通过设置元素等待提高这种问题而造成的不稳定。(上述例子是由于识别对象失败,故采用implicitylyWait函数)

Solve:设置等待时间:Driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);

TimeOuts方法

  • implicitlyWait:识别对象时的超时时间。过了这个时间如果对象还没找到的话就会抛出NoSuchElement异常。
  • setScriptTimeout:异步脚本的超时时间。WebDriver可以异步执行脚本,这个设置异步执行脚本返回结果的超时结果。
  • pageLoadTimeout:页面加载时的超时时间。因为WebDriver会等页面加载完毕再进行后面的操作,所以如果页面超时设置时间依然没有加载完成,那么WebDriver就会抛出异常。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值