无法在锚元素上执行enter键

时间:2015-05-07 20:01:34

标签: java selenium selenium-webdriver

Java版本:7,Selenium版本:2.45

我无法使用sendKeys方法在链接(锚标记)上执行ENTER。

步骤1:使用TAB方法执行sendKeys(这有效)。所述链接具有焦点。我可以手动按下键盘上的ENTER,它会触发链接。

第2步:使用ENTER方法执行RETURN(或sendKeys)(不起作用)。

我试过了:

  • thread.sleep之前添加ENTER
  • webDriver.wait之前添加ENTER
  • 使用webDriver.switchTo().activeElement()检索有效元素,然后执行我的ENTER操作。请注意,使用相同的方法,我可以对元素执行click,而不是ENTER
  • 尝试了不同的方式来发送密钥(使用Actions对象,直接向元素发送密钥。)

请注意:

  • wait(发送我的ENTER之前)发生时,选择了链接。
  • 将我的ENTER替换为另一个TAB,重点关注正确的元素。
  • 每次sendKeys通话后,我都会让网络驱动程序等待任何ajax调用等等。所以这不是问题所在。

感谢所有帮助/提示。谢谢! P.S:毋庸置疑,我已经完成了其他所有SO帖子。

2 个答案:

答案 0 :(得分:0)

下面的方法

    Actions a=new Actions(driver);
    a.moveToElement(driver.findElement(By.name("yourlocator"))).build().perform();

    Keyboard h=((HasInputDevices)driver).getKeyboard();
    h.pressKey(Keys.ENTER);
    h.releaseKey(Keys.ENTER);

谢谢你, 穆拉利

如果罚款,请提供评论。如果是错的,请解释以改善我的自我。

答案 1 :(得分:0)

将Chrome从版本40.X更新为版本43.0.2357.65-1。

Bug现已修复。