fengzhulin 发表于 2012-12-27 17:38:45

selenium如何输入后回车

操作步骤:
在1个文本框中输入一串字符“abcdef”,然后点击回车;
期望结果:回车后输入的字符显示在窗口下方

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

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

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

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

涵灵 发表于 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();

amo666 发表于 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();

fengzhulin 发表于 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)


还有执行后报错如上

fengzhulin 发表于 2012-12-28 14:53:20

没有大牛能帮忙解答下么。。跪求啊,已经困扰我2天了这个问题

六月天 发表于 2012-12-28 15:57:13

你要在哪里输入?
网页上的<input type="text">是没有换行的,因为这个标签里的值其实就是个value的属性,不存在换行这回事。
除非是<textarea>

fengzhulin 发表于 2013-1-8 10:51:16

回复 4# 六月天


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

六月天 发表于 2013-1-8 20:57:53

这要看具体的事件是什么。如果只是回车后就提交,那直接做个submit命令就行了。

fengzhulin 发表于 2013-1-17 15:35:58

selenium 实现submit吗?如何实现呢,求赐教呢

fengzhulin 发表于 2013-1-17 15:39:16

比如在百度首页的搜索框里面输入“测试”后回车;
这个用selenium如何实现?模拟回车动作呢?

fengzhulin 发表于 2013-1-17 16:38:03



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

遇上鱼子 发表于 2013-1-23 17:38:56

截图 你这不是回车问题啊,这是selenium对IE浏览器脚本支持问题,你可以不用代理,使用2.0执行,也可以加载证书使用1.0执行。你用firefox肯定没这个问题。

遇上鱼子 发表于 2013-1-23 17:39:53

selenium是用来测试bs架构的自动化工具,你想用来测试小应用程序?

遇上鱼子 发表于 2013-1-23 17:40:49

截图是rc对ie的支持问题,报脚本调试出错,你换成ff就不会了,也可以用2.0 也可以用rc+证书。都能解决这个问题

langhai5212 发表于 2013-4-27 17:04:55

你直接sendkey(Kes.Enter)

yanghongyan 发表于 2013-8-5 15:50:10

关于如何输入回车键,我也遇到问题了,selenium IDE中keyPress | id=su || \13,运行在chrome 中是失效,困扰很久了。我测试的查询直接就是用回车来调用查询方法,所以不能用submit

houi_ok 发表于 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]
查看完整版本: selenium如何输入后回车