硒2&按键

时间:2011-03-10 16:43:01

标签: keypress selenium-webdriver

我刚刚升级到Selenium 2并且在firefox(也许是其他浏览器?)中模拟按键时遇到了问题。首先,使用IWebDrivers的新API不提供按键功能。我可以使用1.0 API(WebDriverBackedSelenium)函数获取ISelenium实例,但是在使用它时会收到错误。 E.g。

new WebDriverBackedSelenium(driver, TestServerUrl).KeyDownNative("27");

产量

  

System.NotSupportedException:keyDownNative

KeyDown,KeyPress等的情况也是如此.Selenium v​​2不支持这种情况吗?

提前致谢!

/碧玉

2 个答案:

答案 0 :(得分:1)

好的,对未来的读者 - 我阅读了一些ThoughtWorks文档,而Selenium v​​2 API还没有完全实现。

所以请注意自我 - v1和v2之间的巨大差异以及v2 API未完全实现。

答案 1 :(得分:0)

要使用Selenium 2(即输入字段)将按键发送到 WebElement ,您可以执行以下操作:

// Retrieve the required WebElement object of interest //
WebElement myElement = getWebelement();

// send some chars
myElement.sendKeys("Some Test Text");

此外,要从WebElement(即输入框)中删除文本,您可以执行以下操作:

String BACK_SPACE_UNICODE_CODE = "\u0008";

WebElement inputElement = getWebelement();
String currentValue = inputElement.getAttribute("value");

if (!"".equals(currentValue))
{
    for (int count=0;count< currentValue.length();count++)
    {
        inputElement.sendKeys(BACK_SPACE_UNICODE_CODE);
    }            
}

可能最好将此代码放在一个函数中,以便在整个测试过程中使用它。