如何使用Selenium模拟在html文本输入中按Enter键?
在网络界面中,我有一个文本字段。 当用户输入文本并通过 Enter 接受时,应用程序将执行操作。
我想用 Selenium 测试行为。 不幸的是,使用 chr(13) 调用“keypress”会将字符的表示插入到字段中。
除了提交表格还有其他方法吗? 我想模仿预期的用户交互,没有任何捷径......
In a web interface, I've got a text field. When user enters text and accepts with enter, application performs an action.
I wanted to test the behavior with Selenium. Unfortunately, invoking 'keypress' with chr(13) insert representation of the character into the field.
Is there a way other then submitting the form? I'd like to mimic intended user interaction, without any shortcuts...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以使用
Webelement.sendkeys(Keys.Enter);
you can use
Webelement.sendkeys(Keys.Enter);
这段 Java 代码对我有用:
注意转义。 你可能需要像 chr(\13) 这样的东西
This Java code works for me:
Notice the escape. You probably need something like chr(\13)
我最终使用 selenium.keyPress(id, "\\13");
I ended up using selenium.keyPress(id, "\\13");
虽然我还没有对此进行测试,但我想您可以使用附加到字符串的“\r\n”来模拟新行。 如果没有,请查找相当于“Environment.NewLine;”的语言 ?
Though I haven't tested this I imagine you can use "\r\n" appended to a string to simulate a new line. If not look for the languages equivalent to "Environment.NewLine;" ?
我已经有一段时间没有这样做了,但我似乎记得必须使用 JavaScript 片段来执行回车,而不是使用 Selenium 按键功能。
It's been a while since I've had to do this, but I seem to recall having to use a javascript snippet to execute the carrage return as opposed to using the Selenium keypress function.