我正在寻找一种快速的方法来键入进入或返回键在硒。

不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?


当前回答

driver.findElement (By.id(“价值”).sendKeys (Keys.RETURN);或driver.findElement (By.id(“价值”).sendKeys (Keys.ENTER);

其他回答

我只是想指出,我的Cucumber测试需要这个,并发现如果您想模拟按enter/return键,则需要发送:return值,而不是:enter值(请参阅此处描述的值)。

尝试使用XPath表达式搜索元素,然后,以下代码工作:

driver.findElement(By.xpath(".//*[@id='txtFilterContentUnit']")).sendKeys(Keys.ENTER);

你可以试试:

selenium.keyPress("id="", "\\13");

Java / JavaScript:

你可能也可以用这种方式,在非母语的情况下:

public void triggerButtonOnEnterKeyInTextField(String textFieldId, String clickableButId)
{
    ((JavascriptExecutor) driver).executeScript(
        "   elementId = arguments[0];
            buttonId = arguments[1];
            document.getElementById(elementId)
                .addEventListener("keyup", function(event) {
                    event.preventDefault();
                    if (event.keyCode == 13) {
                        document.getElementById(buttonId).click();
                    }
                });",

        textFieldId,
        clickableButId);
}

如果你正在寻找“如何在Selenium WebDriver (Java)中从键盘按Enter键”,那么下面的代码一定会帮助你。

// Assign a keyboard object
Keyboard keyboard = ((HasInputDevices) driver).getKeyboard();

// Enter a key
keyboard.pressKey(Keys.ENTER);