WebDriver在iframe下找不到元素

时间:2013-02-26 22:07:32

标签: java selenium webdriver selenium-webdriver

我正在尝试通过hotmail.com发送邮件。
当我到达“To”和“Subject”的屏幕时,我将iframe切换到“contentFrame”并且跳到了那里。 但是,当我试图将钥匙发送到身体(信息的正文)时,我找不到如何访问这个元素。
正如我所见,身体是isdine iframe,名为“RichText”,所以我在iframe中有iframe 正文类名称是“RichText”,所以我试图通过此className找到该元素,但没有成功 我添加了一个带有红色框的图像,我用萤火虫找到了这个元素 如果有人可以帮助我,我会很高兴 P.S - 您可以在常规hotmail.com中看到元素撰写邮件 - 正文消息 谢谢,
或。
enter image description here

完整的html页面代码: http://pastebin.com/ejM5JYyS

1 个答案:

答案 0 :(得分:3)

这可能对你有用

driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[id='contentFrame']")));
driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[id='RichTextEditor_surface']")));

((JavascriptExecutor) driver).executeScript("document.body.innerHTML = '<br>'");

WebElement bodyOfMail = driver.switchTo().activeElement();

bodyOfMail.sendKeys("Your mail body content here");

//this is for switch back to default window from frame
driver.switchTo().defaultContent();
相关问题