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

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


当前回答

在Python中

步骤1。导入密钥

步骤2。driver.find_element_by_name (" ") .send_keys (Keys.ENTER)

注意:你必须写密钥。输入

其他回答

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);
}

对于使用XPath的Selenium WebDriver(如果键是可见的):

driver.findElement(By.xpath("xpath of text field")).sendKeys(Keys.ENTER);

or,

driver.findElement(By.xpath("xpath of text field")).sendKeys(Keys.RETURN);

你只需要这样做:

final private WebElement input = driver.findElement(By.id("myId"));
input.clear();
input.sendKeys(value); // The value we want to set to input
input.sendKeys(Keys.RETURN);

也可以使用Action界面来实现。在WebDriver的情况下-

WebElement username = driver.findElement(By.name("q"));
username.sendKeys(searchKey);
Actions action = new Actions(driver);
action.sendKeys(Keys.RETURN);
action.perform();
import org.openqa.selenium.Keys

WebElement.sendKeys(Keys.RETURN);

import语句是针对Java的。对于其他语言来说,情况可能有所不同。例如,在Python中,它是from selenium.webdriver.common.keys import Keys