下面是简单的代码片段。Selenium sendKeys()针对Chrome,Firefox和Safari的不同行为
@FindBy(className = "element-to-press")
private WebElement elementToPress;
// some other code
Keys move = Keys.ARROW_DOWN;
gridContainer.sendKeys(move);
在火狐一切工作正常。
在铬我有"org.openqa.selenium.WebDriverException: unknown error: cannot focus element"
错误
Safari浏览器不适合的SendKeys()反应
我也试着使用另一种方法:
Keys move = Keys.ARROW_DOWN;
Actions actions = new Actions(driver);
actions.moveToElement(element).click(); // to focus on element
actions.sendKeys(move).perform();
这代码已修复Chrome"cannot focus element"
错误,但浏览器仍不会对发生反应事件
Safari和Firefox也不会对sendKeys()做出反应。
我无法理解正在发生什么,以及如何让我的代码可以运行在所有这些浏览器上。
环境:
OS X 10.9.5
最新版本的Chrome/Safari/Firefox的
硒版本2.44.0
UPD:
将Selenium更新到版本2.46。
现在适用于Chrome和Firefox。
但仍然有一个问题与Safari浏览器:org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session.
UPD2:
我已经安装了Safari浏览器扩展。
使用硒2.46和2.16 chromedriver [从这里](HTTP://docs.seleniumhq。 org/download /) – Madhan
将Selenium更新到2.46版。现在适用于Chrome和Firefox。 但Safari仍然存在问题。 –
您是否安装了[Safari Driver Extension](http://selenium-release.storage.googleapis.com/2.45/SafariDriver.safariextz)阅读abt [here](https://github.com/SeleniumHQ/selenium/) wiki/SafariDriver#入门) – Madhan