使用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.webdriver.common.keys import Keys
25
我相信它已经感动了。from selenium.webdriver.common.keys import Keys(stackoverflow.com/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文章的图片:en.wikipedia.org/wiki/Enter_key
192
爪哇
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);
要么,
driver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
蟒蛇
from selenium.webdriver.common.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
要么,