我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
当前回答
当您不想搜索任何定位器时,您可以使用Robot类。例如,
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
其他回答
对于那些使用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;
};
当您不想搜索任何定位器时,您可以使用Robot类。例如,
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
Ruby:
driver.find_element(:id, "XYZ").send_keys:return
要使用Selenium输入键,首先需要导入以下库:
import org.openqa.selenium.Keys
然后在想要输入密钥的地方添加此代码
WebElement.sendKeys(Keys.RETURN);
您可以根据需要将RETURN替换为列表中的任何键。
尝试使用XPath表达式搜索元素,然后,以下代码工作:
driver.findElement(By.xpath(".//*[@id='txtFilterContentUnit']")).sendKeys(Keys.ENTER);