2013-02-26 38 views
-1

我试图通过hotmail.com发送邮件。
当我进入“To”和“Subject”的屏幕时,我将iframe切换到“contentFrame”并切入到了那里。
但是,当我试图将密钥发送到身体(消息的正文)时,我无法找到如何访问此elemnt。
正如我所看到的,身体isdine iframe名为“RichText”,所以我有iframe里面的iframe。
正文类名是“RichText”,所以我试图通过这个className找到没有成功的元素。
我添加了一个图像与红色框,我发现与萤火虫元素。
如果有人能帮助我,我会很高兴。
P.S - 你可以看到常规hotmail.com中的元素组成邮件正文消息。
谢谢,
或。
enter image description hereWebDriver在iframe下找不到元素

完整的HTML网页代码: http://pastebin.com/ejM5JYyS

+0

请张贴的HTML的副本时,这可能是有用的。 – Arran 2013-02-27 09:41:26

+0

该页面的完整html代码:http://pastebin.com/ejM5JYyS – ork 2013-02-27 19:07:19

回答

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();