java - 在 Selenium 脚本中按 Enter 键

标签 java selenium selenium-webdriver

我正在使用 Selenium 服务器 (v2.21) 和 Selenium Java 客户端 (v.2.21.0) 来自动化需要在每次输入后按下 Enter 键的 Web 表单,因为字段根据输入的值显示。所以基于解决方案here ,我一直在尝试不同的方法在表单中输入字符串并按 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 
}   

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

关于java - 在 Selenium 脚本中按 Enter 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10799875/

相关文章:

python - 我如何使用 Selenium Python 遍历每个谷歌搜索页面,但它没有发生

java - 如何创建 Maven 配置文件并根据激活的配置文件使用不同的 XML 套件运行每个配置文件?

java - 针对多个浏览器运行 selenium webdriver 测试用例

java - Java 动态代理与常规代理的有用性

python - 使用 Selenium 在 Python 中抓取由 javascript 注入(inject)的图像

java - 即使 EditText 不可编辑,EditText 光标也可见

java - 识别复选框组中的第 n 个复选框

java - 如何修复 Selenium Java 上无法访问 Chrome Web 驱动程序的导入?

java - 使用 JNI 将列表 <unsigned char*> 从 C++ 返回到 Java

Java 数组计数器