我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
当前回答
有以下几种按键方式- c#:
Driver.FindElement(By.Id("Value")).SendKeys(Keys.Return);
OR
OpenQA.Selenium.Interactions.Actions action = new OpenQA.Selenium.Interactions.Actions(Driver);
action.SendKeys(OpenQA.Selenium.Keys.Escape);
OR
IWebElement body = GlobalDriver.FindElement(By.TagName("body"));
body.SendKeys(Keys.Escape);
其他回答
你可以使用任意一个键。回车或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通常以纯文本的形式标注其名称。
参考文献
回车键 回车
也可以使用Action界面来实现。在WebDriver的情况下-
WebElement username = driver.findElement(By.name("q"));
username.sendKeys(searchKey);
Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);
action.perform();
你只需要这样做:
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.keyPress("id="", "\\13");
尝试使用XPath表达式搜索元素,然后,以下代码工作:
driver.findElement(By.xpath(".//*[@id='txtFilterContentUnit']")).sendKeys(Keys.ENTER);