0

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


图像编号 1

图像编号 2



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

4

1 回答 1

1

问题是该To字段位于iframe. 在 selenium 中,如果您想在框架中执行任何操作,则意味着首先您必须进入框架。

进入框架的代码:

  //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 之上的主页,但如果您处理framethis 方法,则会将您带到页面的第一帧。

有关帧处理的更多信息。

于 2013-02-25T04:32:23.647 回答