Java 为什么我的链接在测试过程中需要双击,但可以手动单击?

Java 为什么我的链接在测试过程中需要双击,但可以手动单击?,java,selenium,automated-tests,Java,Selenium,Automated Tests,最近经历了一个奇怪的失败测试,其中link元素不会在一次单击或一次单击JavaScript时重定向。在intelliJ上计算元素时,element.canInteract返回true,然后我让click方法运行,但没有成功。应该被点击的链接周围有一个框,所以我知道它被正确点击了 向同一元素添加.doubleclick可正确重定向页面 添加方法说明,因为它们有些自定义: canInteract返回:if元素isDisplayed()和isEnabled() clickWithJavascript运

最近经历了一个奇怪的失败测试,其中link元素不会在一次单击或一次单击JavaScript时重定向。在intelliJ上计算元素时,element.canInteract返回true,然后我让click方法运行,但没有成功。应该被点击的链接周围有一个框,所以我知道它被正确点击了

向同一元素添加.doubleclick可正确重定向页面

添加方法说明,因为它们有些自定义: canInteract返回:if元素isDisplayed()和isEnabled()

clickWithJavascript运行一个:
executeJavascript(“参数[0]。单击();”,新对象[]{this.element})


我看到的问题是,如果我在断点期间手动单击链接,我只需要单击一下页面就可以转到正确的重定向。出现这种情况的原因是什么?或者需要研究什么?

根据您的代码示例,我不确定您的
clickWithJavascript
是否按预期工作

你能试着把它改成这样吗:

executeJavascript("arguments[0].click();", this.element)

使用标准的
元素可能是一个更好的决定。在这里单击()
方法,而不是使用Javascript单击。

什么是
使用Javascript单击
。双击
元素。canInteract
?这些似乎是您的一些自定义代码,我们不知道。您使用Javascript而不是使用内置的
click()
,这有什么原因吗?最初的方法实际上只是使用了.click,但失败了,所以我尝试了.clickWithJavascript和.doubleclick,看看是否能解决这个问题。只有双击才有效。无法更改。单击WithJavaScript,因为它高于我的角色级别!您是否可以尝试运行
executeJavascript(“参数[0]。单击();”,元素)
,而不是调用
clickWithJavascript
?这将帮助您排除该方法是否存在问题。