我正在寻找一种快速的方法来键入进入或返回键在硒。

不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?


当前回答

driver.findElement (By.id(“价值”).sendKeys (Keys.RETURN);或driver.findElement (By.id(“价值”).sendKeys (Keys.ENTER);

其他回答

Java远程控制:

selenium.keyPress("elementID", "\13");

对于Java的Selenium WebDriver(也就是Selenium 2):

driver.findElement(By.id("elementID")).sendKeys(Keys.ENTER);

Or,

driver.findElement(By.id("elementID")).sendKeys(Keys.RETURN);

在WebDriver中按Enter的另一种方法是使用Actions类:

Actions action = new Actions(driver);
action.sendKeys(driver.findElement(By.id("elementID")), Keys.ENTER).build().perform();
import org.openqa.selenium.Keys

WebElement.sendKeys(Keys.RETURN);

import语句是针对Java的。对于其他语言来说,情况可能有所不同。例如,在Python中,它是from selenium.webdriver.common.keys import Keys

如果你是在这种情况下:

a)只是想按下键,但你没有一个特定的webElement来点击

b)您正在使用Selenium 2 (WebDriver)

那么解决方案是:

    Actions builder = new Actions(webDriverInstance);
    builder.sendKeys(Keys.RETURN).perform();

我只是想指出,我的Cucumber测试需要这个,并发现如果您想模拟按enter/return键,则需要发送:return值,而不是:enter值(请参阅此处描述的值)。

我必须在文本中间输入回车键。于是我通过下面的文本发送键函数来实现1\n2\n3:

1\N{U+E007}2\N{U+E007}3