java selenium回车键_使用Python和Selenium输入Enter / Return键?
使用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
要么,
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方法来执行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")
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.webdriver.common.keys import Keys
driver.find_element_by_id("element_id").send_keys(Keys.ENTER)
使用 Keys.RETURN
from selenium.webdriver.common.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.webdriver.common.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
对于那些使用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);
deferred.resolve();
});
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.webdriver.common.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);
要么
OpenQA.Selenium.Interactions.Actions action = new OpenQA.Selenium.Interactions.Actions(Driver);
action.SendKeys(OpenQA.Selenium.Keys.Escape);
要么
IWebElement body = GlobalDriver.FindElement(By.TagName("body"));
body.SendKeys(Keys.Escape);
2
object.sendKeys("your message",Keys.ENTER);
有用
2
当您不想搜索任何定位器时,可以使用Robot类:例如:
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
2
使用selenium输入密钥首先,您需要导入以下库:
"import org.openqa.selenium.Keys"
然后将此代码添加到要输入密钥的位置
"WebElement.sendKeys(Keys.RETURN);"
您可以根据需要用列表中的任何键替换RETURN
1
如果是WebDriver,也可以使用Action接口来实现-
WebElement username = driver.findElement(By.name("q"));
username.sendKeys(searchKey);
Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);
action.perform();
1
对于RUBY:-
driver.find_element(:id,"XYZ").send_keys:return
1
你可以试试 :
selenium.keyPress("id="","\\13");
1
我必须在文本中间发送Enter键。所以我通过下面的文本发送按键功能来实现1\n2\n3
1\N{U+E007}2\N{U+E007}3
1
对于使用xpath的Selenium WebDriver(如果键可见):
driver.findElement(By.xpath("xpath of text field")).sendKeys(Keys.ENTER);
要么,
driver.findElement(By.xpath("xpath of text field")).sendKeys(Keys.RETURN);
1
如果您处于这种特定情况下:
a)只想按一下键,但没有要单击的特定webElement
b)您正在使用Selenium 2(webDriver)
那么解决方案是:
Actions builder = new Actions(webDriverInstance);
builder.sendKeys(Keys.RETURN).perform();
1
JAVA / JavaScript:
您也可以非本地地使用这种方式:
public void triggerButtonOnEnterKeyInTextField(String textFieldId, String clickableButId)
{
((JavascriptExecutor) driver).executeScript("
elementId = arguments[0];
buttonId = arguments[1];
document.getElementById(elementId)
.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode == 13) {
document.getElementById(buttonId).click();
}
});", textFieldId, clickableButId);
}
1
Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);
0
对于使用javascript / node的每个人,这对我来说都是有效的:
driver.findElement(By.xpath('xpath')).sendKeys('ENTER');
java selenium回车键_使用Python和Selenium输入Enter / Return键?相关推荐
- python模拟输入回车键_用Python模拟键盘输入
import win32apiimport win32conwin32api.keybd_event(17,0,0,0) #ctrl键位码是17win32api.keybd_event(86,0,0, ...
- python selenium截图_利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)...
对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素.若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了. WebDriver.Phant ...
- python模拟淘宝登陆_【Python】selenium模拟淘宝登录
# -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By f ...
- python调用chrome插件_使用Python通过Selenium WebDriver打开chrome扩展
我们有类似的要求,使用Selenium WebDriver处理chrome附加组件.正如'@Aleksandar Popovic'所说,我们无法使用WebDriver点击chrome扩展图标,因为图标 ...
- java方法重载_在Python中该如何实现Java的重写与重载
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:清风python PS:如有需要Python学习资料的小伙伴可以加点击 ...
- python交互模式如何撤回_在Python交互模式输入什么命令可以退回命令行模式
在Python交互模式输入什么命令可以退回命令行模式 答:exit() 根据危机的发生发展过程可将危机分为四个阶段.第二.三阶段分别是 答:常用的应对机制不能解决存在的问题,创伤性应激反应持续存在,生 ...
- python selenium框架_基于python+selenium的框架思路
设想: 1.使用excel编写用例第一个sheet页为用例概要格式如下: 后面的sheet页为具体的用例步骤: 实现所有定位信息都与测试代码分离 2.读取该excel文件取出关键字等信息,作为关键字的 ...
- python selenium 环境_配置Python Selenium环境
1.安装Python (download Python exe file and install it, add path into home) 2.安装Selenium https://www.cn ...
- python selenium 保存网页_使用python / selenium保存完整的网页(包括CSS,图像) - python...
我正在使用Python / Selenium将遗传序列提交到在线数据库,并希望保存返回的完整页面.以下是使我获得所需结果的代码: from selenium import webdriver URL ...
最新文章
- Oculus软件完全支持三传感器室内跟踪
- .NET Core 跨平台执行命令、脚本
- 宋利兵 mysql_《MySQL 5.7 Replication新特性》分享之互动问题解答
- Mac电脑开机出现带问号的文件夹并且闪烁 apple.com/support -2003F
- java怎么中断流_JAVA代码运行中断
- RNN、GRU、LSTM
- java 按行读取txt文件并存入数组
- 中国最后的江湖客:有3000万人,叫卡车司机
- java 极光_极光IM系列之java后台集成
- 【ANSYS命令流】Workbench中施加流体渗透压力载荷(超详细)
- c语言 屏幕刷新,屏幕刷新率
- python与建筑结构设计_29个常见的结构设计问题盘点
- App中使用微信公众号的模版消息来进行消息推送
- 微信小程序--对接萤石云视频监控
- 前端 环形统计_用Canvas+js 实现简单圆形百分比统计图表
- 会员积分系统设计 1 内容说明
- Flex布局脑图总结
- 优惠券系统-第三章-活动中心
- 笔记本整机性能测试软件,整机性能测试
- Arduino使用SK6812(WS2812) 全彩RGB模块/ArduinoC、Mixly/Scartch
热门文章
- 2023年江苏专转本考试政策
- ymcity同城信息小程序前端已开源!快来看看是不是你需要的吧?
- 微信红包雨怎么抢_除夕微信“红包雨”要来!怎么抢看这里!
- 20行Python代码爬取下载应用宝所有APP软件!太强了啊
- Vue 3.0 公开代码之后 ...
- 计算机毕业设计Java酒店管理系统设计与实现(源码+系统+mysql数据库+lw文档)
- 华为交换机配置远程命令
- 解决 在POM配置Maven plugin提示错误“Plugin execution not covered by lifecycle configuration”...
- 有道乐读拥抱AWS利用AmazonWebServices部署云上的少儿图书馆
- 常用Dos命令 命令提示符 CMD