我有一些点击选项卡的测试,但并不总是执行点击。
- xpath是正确的,因为大多数时候测试都有效
- 这不是一个计时问题,因为我已经使用thread.sleep()和其他方法来确保元素在单击之前可见
- 测试认为它正在执行单击,因为它在“执行”单击时没有引发ElementNotFoundException或任何其他异常。测试在单击后失败,因为选项卡内容不会更改。
更多信息我正在使用Selenium 2.44.0在Java中实现测试,该测试在Chrome 44.0.2403.107 m上运行。
我还能做些什么吗?或者这可能是 selenium 的问题?
5条答案
按热度按时间nhaq1z211#
您可以尝试以下几种方法:
elementToBeClickable
等待:p5fdfcr12#
如果选项卡名称包含任何唯一的字符串,你可以使用
linkText
。2并且确保你的选项卡不是动态的。3它应该在源代码中可见(手动源代码(ctrl+u
))。ukxgm1gy3#
以下方法对我有效
nwlls2ji4#
我也有类似的问题。试过上面答案的所有解决方案。有时有效,有时无效。
但是在无限循环中运行代码总是有效的。
例如,我们需要单击
element-two
,在单击element-one
之前,element-two
是不可见的。50few1ms5#
我也有类似的问题,下面是我的解决方案:
通过上面的代码,如果您的按钮不可点击,您可以找到错误消息。
例如,我的错误消息是“nosuchelement”和“clcik is not clickable”,然后我回去检查table_button.accessible_name,发现它打印了一个“null”值,这意味着我的XPATH不正确。