51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 20484|回复: 16
打印 上一主题 下一主题

selenium如何输入后回车

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-12-27 17:38:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作步骤:
在1个文本框中输入一串字符“abcdef”,然后点击回车;
期望结果:回车后输入的字符显示在窗口下方

用seleniumIDE录制回车事件录制不出来。
用java代码
selenium.keyPress(Integer.toString(java.awt.event.KeyEvent.VK_ENTER)
这个也不能生效,请问大家有别的好的办法么?

强调的是在输入字符后马上回车,而不是在1个文本框中直接回车。

另外回放脚本时还会有如下错误弹出来

用的是IE 8.0
请问这种错误是什么意思?是开发写的页面有问题,还是我的脚本有问题?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

推荐
发表于 2015-10-8 17:25:24 | 只看该作者
amo666 发表于 2015-9-14 08:32
请问楼主这个问题解决了吗?我也遇到了类似的问题,困扰了好几天。

写的代码如下,但不生效。输入“商贸 ...

是Java写的吗?试试这样:
driver.findElement(By.id("contentSearchInput")).clear();
driver.findElement(By.id("contentSearchInput")).sendKeys("商贸");

Actions action = new Actions(driver);
action .sendKeys(Keys.ENTER).perform();
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

推荐
发表于 2015-9-14 08:32:54 | 只看该作者
请问楼主这个问题解决了吗?我也遇到了类似的问题,困扰了好几天。
<input id="contentSearchInput" class="search_text" type="text" onkeyup="contentSearch_change(event);" onblur="SearchImage_change()" onfocus="this.value='';" title="搜索" value="Enter搜索" dir="ltr" name="search_text"/>
写的代码如下,但不生效。输入“商贸”后回车
Actions action = new Actions(driver);
WebElement gyshInput = driver.findElement(By.xpath(".//*[@id='contentSearchInput']"));
action.moveToElement(gyshInput).sendKeys("商贸").perform();
回复 支持 0 反对 1

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-12-27 18:11:51 | 只看该作者
java.lang.UnsupportedOperationException: keyDownNative
        at org.openqa.selenium.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:142)
        at org.openqa.selenium.WebDriverCommandProcessor.doCommand(WebDriverCommandProcessor.java:75)
        at com.thoughtworks.selenium.DefaultSelenium.keyDownNative(DefaultSelenium.java:780)
        at login.allocate.baidu(allocate.java:204)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:702)
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:894)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1219)
        at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
        at org.testng.TestRunner.privateRun(TestRunner.java:768)
        at org.testng.TestRunner.run(TestRunner.java:617)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
        at org.testng.SuiteRunner.run(SuiteRunner.java:240)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:87)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)
        at org.testng.TestNG.run(TestNG.java:1022)
        at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:109)
        at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:202)
        at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:173)


还有执行后报错如上
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-12-28 14:53:20 | 只看该作者
没有大牛能帮忙解答下么。。跪求啊,已经困扰我2天了这个问题
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-12-28 15:57:13 | 只看该作者
你要在哪里输入?
网页上的<input type="text">是没有换行的,因为这个标签里的值其实就是个value的属性,不存在换行这回事。
除非是<textarea>
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2013-1-8 10:51:16 | 只看该作者
回复 4# 六月天


    但是程序实现是在input里面输入后,回车就会触发一个事件。这个需要怎么用selenium实现呢?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2013-1-8 20:57:53 | 只看该作者
这要看具体的事件是什么。如果只是回车后就提交,那直接做个submit命令就行了。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2013-1-17 15:35:58 | 只看该作者
selenium 实现submit吗?如何实现呢,求赐教呢
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2013-1-17 15:39:16 | 只看该作者
比如在百度首页的搜索框里面输入“测试”后回车;
这个用selenium如何实现?模拟回车动作呢?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2013-1-17 16:38:03 | 只看该作者


我要在这个input里面输入字符后直接回车操作。怎么用selenium来模拟呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2013-1-23 17:38:56 | 只看该作者
截图 你这不是回车问题啊,这是selenium对IE浏览器脚本支持问题,你可以不用代理,使用2.0执行,也可以加载证书使用1.0执行。你用firefox肯定没这个问题。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2013-1-23 17:39:53 | 只看该作者
selenium是用来测试bs架构的自动化工具,你想用来测试小应用程序?
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2013-1-23 17:40:49 | 只看该作者
截图是rc对ie的支持问题,报脚本调试出错,你换成ff就不会了,也可以用2.0 也可以用rc+证书。都能解决这个问题
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2013-4-27 17:04:55 | 只看该作者
你直接sendkey(Kes.Enter)
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2013-8-5 15:50:10 | 只看该作者
关于如何输入回车键,我也遇到问题了,selenium IDE中keyPress | id=su || \13,运行在chrome 中是失效,困扰很久了。我测试的查询直接就是用回车来调用查询方法,所以不能用submit
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2014-3-25 16:25:17 | 只看该作者
如果仅仅是想实现【enter】操作,我是这么解决的。
首先下载一个pywin32并安装。然后import到你的脚本中。

回车键有自己的专属键位码,例如:
#系统发送键盘【enter】指令
win32api.keybd_event(13,0,0,0)  #键位码是13
win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0) #释放按键
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 14:25 , Processed in 0.080173 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表