如何将密钥发送到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
本文介绍了如何使用Selenium在包含iframe的页面中,通过WebDriverWait和frame定位技巧,向名为'cke_wysiwyg_framecke_reset'的RichTextEditor发送文本。关键步骤包括切换到iframe、等待元素可用并定位body,然后输入测试字符串。
9994

被折叠的 条评论
为什么被折叠?



