【问题标题】:WebDriver can not find the element with HotMail httpsWebDriver 找不到带有 HotMail https 的元素
【发布时间】:2013-02-09 06:15:32
【问题描述】:

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




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

【问题讨论】:

    标签: java selenium webdriver selenium-webdriver


    【解决方案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 上方的主页,但如果您处理 frame,此方法会将您带到页面的第一帧.

    更多info on frmae handling.

    【讨论】:

    • 谢谢!!你帮了我很多!
    猜你喜欢
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 2016-09-07
    • 2018-09-19
    • 2017-10-24
    • 1970-01-01
    相关资源
    最近更新 更多