我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
当前回答
如果你只是想按Enter键(python):
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
action = ActionChains(driver)
action.send_keys(Keys.ENTER)
action.perform()
其他回答
我只是想指出,我的Cucumber测试需要这个,并发现如果您想模拟按enter/return键,则需要发送:return值,而不是: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通常以纯文本的形式标注其名称。
参考文献
回车键 回车
object.sendKeys("your message", Keys.ENTER);
它的工作原理。
你只需要这样做:
final private WebElement input = driver.findElement(By.id("myId"));
input.clear();
input.sendKeys(value); // The value we want to set to input
input.sendKeys(Keys.RETURN);
要使用Selenium输入键,首先需要导入以下库:
import org.openqa.selenium.Keys
然后在想要输入密钥的地方添加此代码
WebElement.sendKeys(Keys.RETURN);
您可以根据需要将RETURN替换为列表中的任何键。