首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代码工作在watir-经典,但不适用于watir-webdriver。

代码工作在watir-经典,但不适用于watir-webdriver。
EN

Stack Overflow用户
提问于 2016-01-29 08:31:34
回答 1查看 166关注 0票数 0

当我用Watir-webdriver编写blow代码时

$browser.checkbox(:index,0).click

它给出了以下错误:

元素不可见(会话信息: chrome=48.0.2564.97) (驱动程序信息: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64)

然后我编写了这个代码,$browser.input(:index,0).click,然后它报告了这个错误:

未知错误:元素在点(952,17)不可点击。其他元素将收到单击:.(会话信息: chrome=48.0.2564.97) (驱动程序信息: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64)

但是元素是明显可见的,而且上面给出的两行代码在watir-classic中都是干净的,我们甚至不需要滚动屏幕。

有人能告诉我为什么会这样吗?为什么这个watir-webdriver不像watir-classic那么舒服?

代码语言:javascript
复制
<td class="centred"> <label class="label-checkbox"> <input type="checkbox" data-ng-model="cover.IsSelected" class="ng-pristine ng-valid"> <div class="fake-checkbox"> <span class="glyphicon glyphicon-ok"></span> </div> </label> </td>
EN

回答 1

Stack Overflow用户

发布于 2016-02-01 23:56:53

您需要做的第一件事是使用更新色度驱动器,因为2.9版已经2年了。该二进制文件需要与当前版本的铬保持最新。很可能单靠这一点就能解决你的问题。

如果是能见度问题..。Watir (以及Selenium和WebDriver)的目的是模仿用户的行为。如果复选框对用户不可见,则不能在测试中单击该复选框。

如果复选框最初不可见,但随后变为可见,则可以执行:browser.checkbox.when_present.click (请注意,index: 0是默认行为,并不是必需的)。

如果复选框中有一些令人兴奋的javascript的东西,它们以一种永远看不到的方式掩盖了它,并且单击可见的东西会抛出“不能单击的元素”错误,那么您可能必须执行browser.checkbox.when_present.fire_event :click --该方法不模仿用户在您的站点上实际做的事情,因此只能作为最后的手段使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35079996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档