无法在编辑框

时间:2017-10-23 21:00:11

标签: selenium selenium-webdriver webdriver selenium-chromedriver

我正在尝试将文本输入到编辑框中,但有时它只输入文本的一半(它无法输入前几个字符)

即。以下代码enterFirstName("12345678901234567890123456789012345678901")仅输入30左右而不是41

By firstNameEditbox = By.id("firstName");

public void enterFirstName(String firstName){
    WebDriverWait wait = new WebDriverWait(driver, timeout);
    element = wait.until(ExpectedConditions.presenceOfElementLocated(identifier));
    wait.until(ExpectedConditions.visibilityOf(element));
    element.sendKeys(firstName);
    findElementWithWait(firstNameEditbox).
}
  

网址: https://mpower.tvo.org/educators/#/signup/

     

WebDriver版本: 3.5.2

     

浏览器:Chrome 58.0.3029.110(64位)

     

Chrome驱动程序版本: 2.26.436382

知道为什么会发生这种情况或如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

要输入长文本,我通常使用js来提高性能和使用:

public boolean setValue(String text) {
    logger.info(String.format("<%s(%s) set value '%s'", el.getTagName(), el.getText(), text));
    try {
        JavascriptExecutor js = (JavascriptExecutor) webElementFinder.getDriver();
        js.executeScript("arguments[0].value = arguments[1];",
                waitForElementVisible(config.getBrowserElementFinderTimeout()), text);
        return true;
    } catch (TimeoutException e) {
        logger.warn(e.getMessage());
        logger.warn(
                String.format("<%s(%s) Element not visible within timeout period", el.getTagName(), el.getText()));
        return false;
    }
}