【发布时间】:2015-01-01 02:35:33
【问题描述】:
您是否曾在使用 Google Chrome 时遇到过问题,有时会单击某个元素,有时却不会?当然没有抛出任何错误...我知道负责单击元素的代码部分执行时没有任何明显的问题(记录器,即单击报告单击后的一行)。浏览器窗口最大化且缩放级别为 100%,页面加载后元素不会移动,不会被任何其他元素重叠...
而且它只发生在 4 个测试中,它们使用一个类并且只发生在一个特定的复选框中。为了让它更奇怪,在被测站点上还有另一个复选框,就在有问题的 onew 下方,它总是可以正常工作。两个复选框的 HTML 代码是相同的,唯一的区别是“name”属性的值。
这是页面源代码(这是第一个给我带来麻烦的复选框):
<div class="checkbox elementdbl">
<input id="acceptterms" type="checkbox" value="1" name="acceptterms">
<label for="acceptterms">Some text</label>
</div>
<div class="checkbox elementdbl">
<input id="acceptpermit" type="checkbox" value="1" name="acceptpermit">
<label for="acceptpermit">Some other text</label>
</div>
软件版本:
- Java 7
- Selenium 集线器和网格 2.43.1
- 谷歌浏览器 38
- GoogleChromeDriver 2.12
我已经能够用 sendKeys(Keys.SPACE) 方法替换点击事件来解决这个问题,到目前为止效果很好。但我讨厌这样的解决方法,所以也许您对可能导致这种 Google Chrome 特定行为的原因有任何想法?
干杯, 巴特克
【问题讨论】:
-
当我使用 IBM 的 Rational Function Tester 进行 Web 测试时,以及使用 Selenium 时,同样的问题时常发生。我认为这就是 Chrome 呈现元素的方式。
-
但是它只发生在一个元素上不是很奇怪吗?我们有大约 300 个测试,这些测试在 Google Chrome 上运行,并且问题存在(至少到目前为止!)仅针对一个复选框...
-
是一组复选框?在编写测试时,我永远无法更改页面的布局,也许你可以。我一直想知道复选框的页面方向是否有所不同。也许可以看看。
-
不,它不是一个组。我已经更新了源代码的问题。看看吧。
-
它不仅发生在 Chrome 上,也发生在 IE 上。可能是由一些在加载页面时操纵 DOM 的 javasript 代码引起的,可能是 chrome/ie 驱动程序或 WebRdiver 中的错误?谁知道?它不时发生,我们必须忍受它,在我的测试中有一些讨厌的链接 - 我点击它,我正在检查它是否被触发,如果没有,那么我再次循环点击它,有时甚至 3 次。
标签: java google-chrome selenium click webdriver