javaselenium回车键_使⽤Python和Selenium输⼊EnterReturn
键?
使⽤Python和Selenium输⼊Enter / Return键?
260
我正在寻⼀种在Selenium中键⼊和Enter或Return键的快速⽅法。不幸的是,我要测试的表单(不是我⾃⼰的代码,所以我⽆法修改)没有“提交”按钮。⼿动操作时,只需输⼊ENTER或RETURN。我需要知道如何使⽤Selenium type命令来执⾏此操作,因为没有单击的按钮。
谢谢,这正是我所需要的!
@croixhaug:你在⽤什么?Selenium RC还是WebDriver(Selenium 2)?语⾔呢?Java的?C#?或者是什么?
@RiponAlWasim,在2009年(提出问题时)没有WebDriver。同样,这两个答案都已经存在了⼀段时间……
@AlexOkrushko:是的,您是对的
Answers:
296
import org.openqa.selenium.Keys
WebElement.sendKeys(Keys.RETURN);
该import语句是针对Java的,对于其他语⾔,则可能有所不同,例如python:from selenium.webdrivermon.keys import Keys
25
我相信它已经感动了。from selenium.webdrivermon.keys import Keys(stackoverflow/questions/5503489/...)
@HJames Broadhead:我已经检查过了,实际的JAVA(2.17.0)的Keys类仍然是org.openqa.selenium.Keys
3
我知道return与enter不同,但是Keys.ENTER有何不同?(我认为Keys.RETURN只会使其很明显是在执⾏该操作的机器⼈?)
1
@NoBrainer:快速查看导⼊的⽂件将回答您的问题: RETURN = '\ue006' ENTER = '\ue007'。但为什么?某些⽂物或操作系统差异。
2
@NoBrainer:Enter和Return是不同的键,请查看此Wikipedia⽂章的图⽚:/wiki/Enter_key
192
⽖哇
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);
要么,
driver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
蟒蛇
from selenium.webdrivermon.keys import Keys
driver.find_element_by_name("Value").send_keys(Keys.RETURN)
要么,
driver.find_element_by_name("Value").send_keys(Keys.ENTER)
要么,
element = driver.find_element_by_id("Value")
element.send_keys("keysToSend")
element.submit()
红宝⽯
element = @driver.find_element(:name, "value")
element.send_keys "keysToSend"
element.submit
要么,
element = @driver.find_element(:name, "value")
element.send_keys "keysToSend"
element.send_keys:return
要么,
@driver.action.send_keys(:enter).perform
@driver.action.send_keys(:return).perform
C#
driver.FindElement(By.Id("Value")).SendKeys(Keys.Return);
要么,
driver.FindElement(By.Id("Value")).SendKeys(Keys.Enter);
1
对于Python,我发现在输⼊字符串后附加“ \ n”是最直接的⽅法。它在搜索领域中起作⽤。
26
现在已经发布了Selenium 2,发送Enter键要容易⼀些,因为您可以使⽤类的send_keys⽅法来执⾏
webelement.WebElement此操作(此⽰例代码在Python中,但在Java中存在相同的⽅法):>>> from selenium import webdriver
>>> wd = webdriver.Firefox()
>>> wd.get("localhost/example/page")
>>> textbox = wd.find_element_by_css_selector("input")
>>> textbox.send_keys("Hello World\n")
24
您可以使⽤ Keys.ENTER或Keys.RETURN。以下是⼀些详细信息:
⽤法:
Java的:
使⽤Keys.ENTER:
import org.openqa.selenium.Keys;
driver.findElement(By.id("element_id")).sendKeys(Keys.ENTER);
使⽤ Keys.RETURN
import org.openqa.selenium.Keys;
driver.findElement(By.id("element_id")).sendKeys(Keys.RETURN);
蟒蛇:
使⽤Keys.ENTER:
from selenium.webdrivermon.keys import Keys
driver.find_element_by_id("element_id").send_keys(Keys.ENTER)
使⽤ Keys.RETURN
from selenium.webdrivermon.keys import Keys
driver.find_element_by_id("element_id").send_keys(Keys.RETURN)
Keys.ENTER和Keys.RETURN两者都从org.openqa.selenium.Keys,它扩展java.lang.Enum并实现java.lang.CharSequence
枚举键
枚举键是不是⽂本的可按下键的表⽰。这些存储在Unicode PUA(专⽤区域)中)代码点0xE000-0xF8FF中。
关键代码:
keys codes它们的特殊之处如下:
返回 =u'\ue006'
ENTER =u'\ue007'
实施全部 Enum Keys都以相同的⽅式处理。
因此,这些是没有 Functional或Operational区别与任何⼯作时sendKeys(Keys.ENTER);或WebElement.sendKeys(Keys.RETURN);通过硒。
输⼊键和返回键
在⼤多数情况下,在计算机键盘上Enter(或Return在Mac OSX上为)会导致命令⾏,窗⼝形式或对话框操作其默认功能。通常,这是为了完成“输⼊”并开始所需的过程,并且通常是按“确定”按钮的替代⽅法。
在Return通常也称为作为Enter他们通常执⾏相同的功能; 但是,在某些特定应⽤程序(主要是页⾯布局)
中,其Return运⾏⽅式特别类似于其起源的回车键。相反,Enter通常在通⽤PC键盘上以纯⽂本标记其名称。
参考资料
12
编写HTML测试时,ENTER键可⽤${KEY_ENTER}。
您可以将其与⼀起使⽤sendKeys,这是⼀个⽰例:
sendKeys | id=search | ${KEY_ENTER}
11
在Python中
第1步。 from selenium.webdrivermon.keys import Keys
第2步。 driver.find_element_by_name("").send_keys(Keys.ENTER)
注意:你必须写Keys.ENTER
9
您只需执⾏以下操作:
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);
只是出于好奇,您为什么喜欢编写3⾏代码,就可以单⾏编写
9
selenium.keyPress("css=input.tagit-input.ui-autocomplete-input", "13");
6
python转java代码对于那些使⽤WebDriverJS的⼈,Keys.RETURN将其称为
webdriver.Key.RETURN
⼀个更完整的⽰例作为参考也可能会有所帮助:
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);
});
return deferred.promise;
};
6
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')
ENTER = u'\ ue007'
请参阅硒⽂档“特殊键”
这个答案有效,但是由于我使⽤了错误的号码,因此⽆意中将其否决了。
5
我只是想指出,我需要为我的黄⽠测试,发现如果你想模拟按下回车/返回键,你需要发送的:return值,并没有将:enter值(见描述的值这⾥)
对于GWT输⼊⽂本字段也是如此。
5
对于使⽤Java的Selenium RC:
selenium.keyPress("elementID", "\13");
对于使⽤Java的Selenium WebDriver(aka Selenium2):
driver.findElement(By.id("elementID")).sendKeys(Keys.ENTER);
要么,
driver.findElement(By.id("elementID")).sendKeys(Keys.RETURN);
通过使⽤Actions类在WebDriver中按Enter的另⼀种⽅法:
Actions action = new Actions(driver);
action.sendKeys(driver.findElement(By.id("elementID")), Keys.ENTER).build().perform();
3
如果您正在寻“如何在Selenium Webdriver(java)中通过键盘按Enter键”,那么下⾯的代码⼀定会对您有所帮助。
//assign key board object
Keyboard keyboard=((HasInputDevices) driver).getKeyboard();
//enter a key
keyboard.pressKey(Keys.ENTER);
1
您能否详细说明您的答案,并提供有关您提供的解决⽅案的更多说明?
3
您可以调⽤submit()在其中输⼊⽂本的元素对象。
另外,您可以按照以下python⽚段所⽰,专门向其发送回车键:
from selenium.webdrivermon.keys import Keys
element.send_keys(Keys.ENTER) # element is the WebElement object corresponding to the input field on the page
2
尝试使⽤XPATH搜索元素,然后,下⾯的代码起作⽤:
driver.findElement(By.xpath(".//*[@id='txtFilterContentUnit']")).sendKeys(Keys.ENTER);
如果元素具有ID,则最好使⽤ID⽽不是xpath
2
有以下⼏种按键⽅式-C#:
Driver.FindElement(By.Id("Value")).SendKeys(Keys.Return);
要么
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论