WebDriver - 无法访问iframe外部的元素

时间:2014-08-17 05:55:54

标签: selenium selenium-webdriver webdriver

我正在测试一个应用,点击链接"注册"后,会弹出注册覆盖。覆盖的DOM结构的片段如下。有几个iframe和一个表单。我需要在电子邮件字段中输入电子邮件。问题是,表单不在任何框架内,切换到iframe没有帮助。不切换也不起作用。

<iframe id="commons-frame"></iframe>
<iframe class="floodlight_iframe"></iframe>
<form>
    <label for="email">
        <input type="email" name="email" id="email" class="primary email text required" placeholder="Email Address">
    </label>
</form>

如果我切换,则该元素不在该帧中的错误。如果我没有切换,则会出现一个错误,即元素不可见。

driver.switchTo().defaultContent();
WebElement frame = driver.findElement (By.id("commons-frame"));
driver.switchTo().frame(frame); 
driver.findElement (By.xpath("//*[@class='primary email required']")).sendKeys      ("abc@gmail.com");
driver.switchTo().defaultContent();

问题是:如何访问叠加层中的任何iframe之外的元素?

0 个答案:

没有答案