WebDriver无法使用HotMail https找到该元素

时间:2013-02-23 18:59:24

标签: java selenium webdriver selenium-webdriver

我正在尝试使用webdriver 2自动发送邮件抛出hotmail 我正在使用WebDriver,java和eclipse。
我很快就通过登录成功进入了hotmail,我收到了主要的邮件页面。
现在我必须单击“新建”按钮(图像编号1),
当我通过命令单击它时:driver.findElement(By.id(“NewMessage”))。click();
它正在工作,页面移动到下一个撰写页面(图像编号2)。
但WebDriver认为他仍然出于某种原因仍然在上一页。
我无法点击此页面上的任何元素。

Image number 1

IMage number 2



我的目标是将密钥发送到“收件人”字段,但我无法得到它。 正如你在图像2中看到的那样,我试图通过“InputBox”类获取元素,id,className,xpath等。  
如果有人可以帮助我,我会很高兴。
谢谢,

1 个答案:

答案 0 :(得分:1)

问题是To字段位于iframe。在硒中如果你想在一个帧中做任何动作,首先你必须进入框架。

输入框架的代码:

  //Assume driver is initialized properly  
  driver.switchToFrame("Frame Name");  

(或)

  driver.switchTo.frame("FrameIndexValue");  

(或)

  WebElement element = driver.findElement(By.id(LocatorValue));  
  driver.switchTo.frame(element);
  //Do any action inside the frame  

完成框架内的动作后,你必须离开框架才能在框架外做任何动作。

代码离开框架:

//driver.switchTo.defaultContent();

如果您正在处理iframe,则defaultContent()会将您带到所有iframe上方的主页面,但如果您处理frame此方法,则会转到第一个页面的框架。

了解更多info on frmae handling