【问题标题】:WebDriver - Google Chrome does not click element from time to time, but no error is presentWebDriver - 谷歌浏览器不时点击元素,但不存在错误
【发布时间】: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


【解决方案1】:

我看到的是 Chrome 在点击某些元素时出现问题。它将指针定位在元素的“中间”,但如果元素有文本——尤其是在多行上——则该区域的一部分实际上是不可点击的。

有一个 Chrome 错误,我在一段时间前发现了,但现在找不到了。但是,如果您go to this link 并阅读了 lukela 的 cmets,大约 2/3 的时候他会详细描述这种情况。

希望这会有所帮助;至少你知道你不会发疯:=0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 2016-10-30
    • 1970-01-01
    • 2019-06-03
    • 2014-09-14
    • 2021-11-08
    • 2014-09-16
    相关资源
    最近更新 更多