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

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


当前回答

也可以使用Action界面来实现。在WebDriver的情况下-

WebElement username = driver.findElement(By.name("q"));
username.sendKeys(searchKey);
Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);
action.perform();

其他回答

当您不想搜索任何定位器时,您可以使用Robot类。例如,

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);

对于每个使用JavaScript / Node.js的人来说,这对我来说是有效的:

driver.findElement(By.xpath('xpath')).sendKeys('ENTER');
import org.openqa.selenium.Keys

WebElement.sendKeys(Keys.RETURN);

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

尝试使用XPath表达式搜索元素,然后,以下代码工作:

driver.findElement(By.xpath(".//*[@id='txtFilterContentUnit']")).sendKeys(Keys.ENTER);

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

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