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

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


当前回答

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

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

其他回答

如果你正在寻找“如何在Selenium WebDriver (Java)中从键盘按Enter键”,那么下面的代码一定会帮助你。

// Assign a keyboard object
Keyboard keyboard = ((HasInputDevices) driver).getKeyboard();

// Enter a key
keyboard.pressKey(Keys.ENTER);

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

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

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

driver.findElement(By.xpath('xpath')).sendKeys('ENTER');

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

你可以使用任意一个键。回车或Keys.RETURN。以下是细节:

用法:

Java: Using Keys.ENTER: import org.openqa.selenium.Keys; driver.findElement(By.id("element_id")).sendKeys(Keys.ENTER); Using Keys.RETURN: import org.openqa.selenium.Keys; driver.findElement(By.id("element_id")).sendKeys(Keys.RETURN); Python: Using Keys.ENTER: from selenium.webdriver.common.keys import Keys driver.find_element_by_id("element_id").send_keys(Keys.ENTER) Using Keys.RETURN: from selenium.webdriver.common.keys import Keys driver.find_element_by_id("element_id").send_keys(Keys.RETURN)

钥匙。回车键。返回两个都来自org.openqa.selenium。Keys,它扩展了java.lang。Enum<Keys>并实现java.lang.CharSequence。


Enum关键字

枚举键是非文本的可按键的表示形式。它们存储在Unicode PUA(私有使用区域)代码点0xE000-0xF8FF中。

关键代码:

它们的特殊按键代码如下:

RETURN = u'\ue006' ENTER = u'\ue007'

所有枚举键的实现都以相同的方式处理。

因此,在使用sendKeys(Keys.ENTER)时,没有功能或操作上的差异;或WebElement.sendKeys (Keys.RETURN);通过硒。


输入键和返回键

在计算机键盘上,大多数情况下,回车键(或Mac OS X上的回车键)会导致命令行、窗口形式或对话框操作其默认功能。这通常是为了完成一个“条目”并开始所需的流程,通常是按下OK按钮的另一种选择。

Return通常也被称为Enter,它们通常执行相同的功能;然而,在某些特定的应用程序(主要是页面布局)中,Return的操作特别像它起源于回车键的回车键。相比之下,在一般的PC键盘上,Enter通常以纯文本的形式标注其名称。


参考文献

回车键 回车