如何将密钥发送到java selenium中的Reach文本区域.
这是包含iframe的HTML代码:
Rich Text Editor, Message
Press ALT 0 for help
Content is required
我尝试使用iframe类名称使用下面的方法,但我无法向其发送数据.这是Selenium代码
for (String handle002 : driver.getWindowHandles())
{
driver.switchTo().window(handle002);
Thread.sleep(500);
for (String handle001 : driver.getWindowHandles())
{
driver.switchTo().window(handle001);
Thread.sleep(500);
driver.switchTo().frame(driver.findElement(By.className("cke_wysiwyg_frame cke_reset")));
driver.switchTo().defaultContent();
WebElement body=driver.findElement(By.className("cke_wysiwyg_frame cke_reset"));
body.sendKeys("Test");
driver.switchTo().defaultContent();
}
}
解决方法:
我看到你提供的HTML后得到了解决方案,你应该尝试使用如下的WebDriverWait: –
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.cssSelector("iframe.cke_wysiwyg_frame.cke_reset")));
WebElement body = wait.until(ExpectedConditions.visibilityOfElementLocated(By.tagName("body")));
body.sendKeys("Test String");
//Now after entering text into texteditor switch back to default content
driver.switchTo().defaultContent();
标签:java,javascript,iframe,selenium,automated-tests
来源: https://codeday.me/bug/20190702/1352954.html