当前位置: 首页 > 面试题库 >

在Selenium脚本中按Enter键

薛枫
2023-03-14
问题内容

我正在使用Selenium Server(v2.21)和SeleniumJavaClient(v.2.21.0)来自动化Web表单,该表单需要Enter在每次输入后都按下键,因为字段是根据输入的值公开的。因此,根据此处的解决方案,我一直在尝试不同的方法以在表单中输入字符串并按Enter-这是我尝试过的方法:

// type field value
selenium.type("program", "MIC HOMEOWNERS");

// ** not working: selenium.keyPress("program", "\\13");
// ** not working: selenium.select("program", "Program");
// ** not working: selenium.keyPressNative(Keys.ENTER.toString());
// ** not working: selenium.keyDown("program", "13");

它会 看起来
像这是最合理的解决方案(selenium.keyPressNative(Keys.ENTER)),但是编译器抛出,如果你不添加一个错误.toString,因为keyPressNative期待一个字符串。

实际的表单代码:

<label  >Program</label> 
    <input id="program" name="program1" class="readonly-bg" readonly="readonly" type="text" value="MIC HOMEOWNERS" size="12"/>
    <input id="program" name="program" type="hidden" value="601"/>
        <script type="text/javascript">  
            Spring.addDecoration(new Spring.ElementDecoration({  
                elementId : "program",  
                widgetType : "dijit.form.ValidationTextBox",  
                widgetAttrs : { 
                    trim:true ,
                    required : true
                }}));  
        </script>
<br>

如何模拟按键的Enter按下?


问题答案:

我正在使用以下代码单击 Escape Enter

try {
    Thread.sleep(700);
} catch (InterruptedException e) {
    selenium.keyPressNative("27"); // Escape
    selenium.keyPressNative("10"); // Enter 
}

我们需要暂停硒直到成功执行上一个命令。所以我正在使用sleep()方法。对于我的测试用例,我需要暂停700 MillSec。根据您的要求,您需要更改值。



 类似资料:
  • 问题内容: 我创建了一个非常简单的bash脚本,该脚本运行一些命令。这些命令之一在运行时需要用户输入。即它询问用户“您想等等吗?”,我只想向其发送回车按键,以便脚本将完全自动化。 我将不必在运行时等待输入或其他任何东西,它足以发送按键,输入缓冲区将处理其余部分。 问题答案: 或利用echo生成的隐式换行符(感谢Marcin) 现在我们可以简单地使用以下选项: ,请勿在每次测试后等待按键 即

  • 问题内容: 我想自动升级程序。 我在Python中运行以下代码: 当我这样做时,我从外壳程序获得升级程序已成功启动的输出,然后得到“按Enter继续”。我将如何自动执行此过程,以便在提示时python脚本自动“按”回车?我需要在程序执行两次。我需要在Linux而不是Windows上完成此操作,因为在这里它被询问: 生成键盘事件 另外,这需要在Shell提示输入Enter之后专门完成。谢谢你的帮助。

  • 问题内容: 我想使用selenium脚本逐个单击网页上的一堆链接,每次单击都会刷新页面。但是selenium不支持像:visited这样的css伪类,因此我无法将已经单击的伪类与下一步要单击的伪类区分开。有办法解决我的问题吗? 这是我的代码:http : //pastebin.com/z0uRTHHp 问题答案: 使用Selenium IDE解决的新答案: 注意: 您需要从https://addo

  • 我创建了一些Selenium IDE脚本,然后将脚本导出Java /Junit4WebDrier支持的,只是简单的WebDrier类。当我运行这些类时,测试用例所做的唯一事情就是打开正确的URL。之后,测试用例是登录测试用例,它根本找不到用户名字段。我尝试通过名称或ID两者都没有工作。我甚至尝试添加一些方法来等待页面加载(实际上加载没有问题);我希望通过名称或id部分工作,至少最后尝试块使用我在网

  • 我使用带有Java的selenium webdriver来自动化网页

  • 问题内容: 在操纵up中按Enter似乎没有任何效果。但是,当我按其他键时,它会执行应有的操作。这有效: 这不是: 这是输入的样子: 有任何想法吗? 编辑:我也尝试过page.keyboard.down&page.keyboard.up来确保。 问题答案: 使用该站点时,我注意到有调度和事件,但没有。这可能是一个错误,但是幸运的是,发送回车键码(13)似乎可以正常工作,因此我们现在可以解决它。