cro*_*aug 236 selenium automation automated-tests enter keypress
我正在寻找一种在Selenium中输入和输入或返回键的快捷方式.不幸的是,我试图测试的表单(不是我自己的代码,所以我无法修改)没有提交按钮.手动使用时,我只需输入ENTER或RETURN.我需要知道如何使用Selenium type命令执行此操作,因为没有可单击的按钮.
Ral*_*lph 283
import org.openqa.selenium.Keys
WebElement.sendKeys(Keys.RETURN);
Run Code Online (Sandbox Code Playgroud)
该import语句适用于Java,对于其他语言,它可能是不同的,例如python:from selenium.webdriver.common.keys import Keys
Pra*_*ams 172
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);
Run Code Online (Sandbox Code Playgroud)
要么,
driver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
Run Code Online (Sandbox Code Playgroud)
from selenium.webdriver.common.keys import Keys
driver.find_element_by_name("Value").send_keys(Keys.RETURN)
Run Code Online (Sandbox Code Playgroud)
要么,
driver.find_element_by_name("Value").send_keys(Keys.ENTER)
Run Code Online (Sandbox Code Playgroud)
要么,
element = driver.find_element_by_id("Value")
element.send_keys("keysToSend")
element.submit()
Run Code Online (Sandbox Code Playgroud)
element = @driver.find_element(:name, "value")
element.send_keys "keysToSend"
element.submit
Run Code Online (Sandbox Code Playgroud)
要么,
element = @driver.find_element(:name, "value")
element.send_keys "keysToSend"
element.send_keys:return
Run Code Online (Sandbox Code Playgroud)
要么,
@driver.action.send_keys(:enter).perform
@driver.action.send_keys(:return).perform
Run Code Online (Sandbox Code Playgroud)
driver.FindElement(By.Id("Value")).SendKeys(Keys.Return);
Run Code Online (Sandbox Code Playgroud)
要么,
driver.FindElement(By.Id("Value")).SendKeys(Keys.Enter);
Run Code Online (Sandbox Code Playgroud)
Eli*_*ght 26
现在已经发布了Selenium 2,发送一个Enter键要容易一些,因为你可以使用类的send_keys方法selenium.webdriver.remote.webelement.WebElement(这个示例代码在Python中,但Java中存在相同的方法):
>>> from selenium import webdriver
>>> wd = webdriver.Firefox()
>>> wd.get("http://localhost/example/page")
>>> textbox = wd.find_element_by_css_selector("input")
>>> textbox.send_keys("Hello World\n")
Run Code Online (Sandbox Code Playgroud)
Deb*_*anB 23
您可以使用两种 Keys.ENTER或Keys.RETURN.以下是一些细节:
Java:
使用Keys.ENTER:
import org.openqa.selenium.Keys;
driver.findElement(By.id("element_id")).sendKeys(Keys.ENTER);
Run Code Online (Sandbox Code Playgroud)运用 Keys.RETURN
import org.openqa.selenium.Keys;
driver.findElement(By.id("element_id")).sendKeys(Keys.RETURN);
Run Code Online (Sandbox Code Playgroud)蟒蛇:
使用Keys.ENTER:
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id("element_id").send_keys(Keys.ENTER)
Run Code Online (Sandbox Code Playgroud)运用 Keys.RETURN
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id("element_id").send_keys(Keys.RETURN)
Run Code Online (Sandbox Code Playgroud)Keys.ENTER并且Keys.RETURN都来自org.openqa.selenium.Keys,扩展java.lang.Enum<Keys>和实施java.lang.CharSequence
枚举键是不是文本的可按键的表示.它们存储在Unicode PUA(专用区)代码点0xE000-0xF8FF中.
keys codes它们的特殊之处如下:
u'\ue006'u'\ue007'所有的实现Enum Keys都以相同的方式处理.
因此,在使用Selenium或通过Selenium进行处理时,这些是没有 Functional或Operational不同的.sendKeys(Keys.ENTER);WebElement.sendKeys(Keys.RETURN);
在计算机键盘上,Enter(或Return在Mac OSX上)在大多数情况下会导致命令行,窗口窗体或对话框操作其默认功能.这通常是为了完成"输入"并开始所需的过程,并且通常是按下OK按钮的替代方法.
在Return通常也称为作为Enter他们通常执行相同的功能; 但是在某些特定应用程序(主要是页面布局)中,它的Return运行方式与它所源自的回车键一样.相比之下,Enter通常在通用PC键盘上用明文标记其名称.
小智 12
编写HTML测试时,ENTER键可用${KEY_ENTER}.
你可以使用它sendKeys,这是一个例子:
sendKeys | id=search | ${KEY_ENTER}
Run Code Online (Sandbox Code Playgroud)
selenium.keyPress("css=input.tagit-input.ui-autocomplete-input", "13");
Run Code Online (Sandbox Code Playgroud)
你这样做:
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);
Run Code Online (Sandbox Code Playgroud)
小智 6
对于那些使用WebDriverJS的人Keys.RETURN将被引用为
webdriver.Key.RETURN
Run Code Online (Sandbox Code Playgroud)
作为参考的更完整的示例也可能有用:
var pressEnterToSend = function () {
var deferred = webdriver.promise.defer();
webdriver.findElement(webdriver.By.id('id-of-input-element')).then(function (element) {
element.sendKeys(webdriver.Key.RETURN);
deferred.resolve();
});
return deferred.promise;
};
Run Code Online (Sandbox Code Playgroud)
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN); 要么 driver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
小智 6
search = browser.find_element_by_xpath("//*[@type='text']")
search.send_keys(u'\ue007')
Run Code Online (Sandbox Code Playgroud)
请参阅硒文档“特殊键”
对于使用Java的Selenium RC:
selenium.keyPress("elementID", "\13");
Run Code Online (Sandbox Code Playgroud)
对于Selenium WebDriver(又名Selenium2)与java:
driver.findElement(By.id("elementID")).sendKeys(Keys.ENTER);
Run Code Online (Sandbox Code Playgroud)
要么,
driver.findElement(By.id("elementID")).sendKeys(Keys.RETURN);
Run Code Online (Sandbox Code Playgroud)
使用Actions类在WebDriver中按Enter键的另一种方法:
Actions action = new Actions(driver);
action.sendKeys(driver.findElement(By.id("elementID")), Keys.ENTER).build().perform();
Run Code Online (Sandbox Code Playgroud)
小智 5
在Python中
步骤1。 from selenium.webdriver.common import keys
第2步。 driver.find_element_by_name("").send_keys(keys.Keys.ENTER)
注意:你必须写keys.Keys.ENTER
| 归档时间: |
|
| 查看次数: |
532483 次 |
| 最近记录: |