繁体   English   中英

无法将Keys()发送到输入文本字段

[英]Unable to sendKeys() into input text field

我打算在以下网站上自动化一个简单的表单填充 Junit 测试: https : //newdesign.millionandup.com

我尝试向其发送密钥的输入文本字段用 id=email 标识,我尝试了以下两种方法: 1.

     WebElement passInput = driver3.findElements(By.className("sidebar__item-text")).get(0); // this xPath does the trick  
     wait.until(ExpectedConditions.visibilityOfElementLocated(emailLocator));
     passInput.click();
     passInput.sendKeys("emailID");
     Thread.sleep(3000); // only to see the result
WebElement em1 = driver3.findElement(emailLocator);
    JavascriptExecutor jse = (JavascriptExecutor)driver3;
    //driver3.findElement(emailLocator).sendKeys(emString);
    Thread.sleep(1000);
    jse.executeScript("arguments[0].click()", em1);
    jse.executeScript("arguments[0].value='prisoner24601@gouvernement.fr';", em1);
    if (em1.isSelected()) {
        System.out.println("email typed");
    } else {
        System.out.println("unable to send keys, element not interactable");
    }

在这两种情况下都无济于事,文本字段仍然不可交互,我无法将数据输入其中。

编辑:正如评论中所建议的,我尝试了第三种方式:

3.

WebElement element = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//input[@id='email']"))); 
     System.out.println("email input located");
     element.click();
     System.out.println("email input clicked");
     element.sendKeys(emString);

元素实际上已定位,但是,一旦调用方法 click() 或 sendKeys() ,就会在声明“元素不可交互”后停止执行

xpath - //input[@id='email']匹配 DOM 中的 9 个元素。 找到独特的定位器很重要 - 参考链接

鼠标移动时会打开 Register 的弹出窗口。 鼠标移动后,将能够查看弹出元素并与之交互。

在 xpath 下面使用将密钥发送到元素Email Address ,它对我有用。

//form[@id='frmLeadModal']//input[@id='email']

像下面这样尝试一次,它也可能对你有用。

driver.get("https://newdesign.millionandup.com/#initial");

WebDriverWait wait = new WebDriverWait(driver, 30);

Actions actions = new Actions(driver);
actions.moveByOffset(100, 100).perform();
        
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//form[@id='frmLeadModal']//input[@id='email']"))).sendKeys("example@email.com");      

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM