我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
当前回答
对于那些使用WebDriverJS key的人。RETURN将被引用为
webdriver.Key.RETURN
一个更完整的例子作为参考可能也会有所帮助:
var pressEnterToSend = function () {
var deferred = webdriver.promise.defer();
webdriver.findElement(webdriver.By.id('id-of-input-element')).then(function (element) {
element.sendKeys(webdriver.Key.RETURN);
deferred.resolve();
});
return deferred.promise;
};
其他回答
我必须在文本中间输入回车键。于是我通过下面的文本发送键函数来实现1\n2\n3:
1\N{U+E007}2\N{U+E007}3
对于那些使用WebDriverJS key的人。RETURN将被引用为
webdriver.Key.RETURN
一个更完整的例子作为参考可能也会有所帮助:
var pressEnterToSend = function () {
var deferred = webdriver.promise.defer();
webdriver.findElement(webdriver.By.id('id-of-input-element')).then(function (element) {
element.sendKeys(webdriver.Key.RETURN);
deferred.resolve();
});
return deferred.promise;
};
selenium.keyPress("css=input.tagit-input.ui-autocomplete-input", "13");
对于每个使用JavaScript / Node.js的人来说,这对我来说是有效的:
driver.findElement(By.xpath('xpath')).sendKeys('ENTER');
如果你是在这种情况下:
a)只是想按下键,但你没有一个特定的webElement来点击
b)您正在使用Selenium 2 (WebDriver)
那么解决方案是:
Actions builder = new Actions(webDriverInstance);
builder.sendKeys(Keys.RETURN).perform();