我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
当前回答
如果你正在寻找“如何在Selenium WebDriver (Java)中从键盘按Enter键”,那么下面的代码一定会帮助你。
// Assign a keyboard object
Keyboard keyboard = ((HasInputDevices) driver).getKeyboard();
// Enter a key
keyboard.pressKey(Keys.ENTER);
其他回答
object.sendKeys("your message", Keys.ENTER);
它的工作原理。
如果你是在这种情况下:
a)只是想按下键,但你没有一个特定的webElement来点击
b)您正在使用Selenium 2 (WebDriver)
那么解决方案是:
Actions builder = new Actions(webDriverInstance);
builder.sendKeys(Keys.RETURN).perform();
在编写HTML测试时,ENTER键可以作为${KEY_ENTER}使用。
你可以使用sendKeys,这里有一个例子:
sendKeys | id=search | ${KEY_ENTER}
现在Selenium 2已经发布了,发送一个Enter键会更容易一些,因为你可以使用Selenium .webdriver.remote.webelement. webelement类的send_keys方法(这个示例代码在Python中,但在Java中存在相同的方法):
>>> from selenium import webdriver
>>> wd = webdriver.Firefox()
>>> wd.get("http://localhost/example/page")
>>> textbox = wd.find_element_by_css_selector("input")
>>> textbox.send_keys("Hello World\n")
也可以使用Action界面来实现。在WebDriver的情况下-
WebElement username = driver.findElement(By.name("q"));
username.sendKeys(searchKey);
Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);
action.perform();