无法使用Android WebDriver切换到IFrame

时间:2012-09-10 18:14:00

标签: android webdriver

我想知道是否有人可以指出我到底做错了什么。我正在尝试使用Android WebDriver访问iframe。当我点击主页上的登录链接时,iframe会打开。下面是src代码的片段,其中包含我尝试访问的iframe ID -

<div class="dialog" style="background-color: rgb(232, 235, 238); color: rgb(51, 51, 51);">
   <iframe id="registration-dialog-frame" scrolling="no" frameborder="0" src="http://test.com"   border="0" allowtransparency="true" style="width: 235px;">
     <html>
   </iframe>
 <span id="signin-cancel" class="cancelButton">Cancel</span>

我等到iframe打开,检查帧ID是否存在,然后使用switchTo()切换到这样的iframe

driver.switchTo().frame("registration-dialog-frame");

我得到了

org.openqa.selenium.WebDriverException: Error: {"message":"Cannot read property 'document' of undefined"}

当我尝试这个时

driver.switchTo().frame(driver.findElement(By.id("registration-dialog-frame")));

我得到了

org.openqa.selenium.WebDriverException: java.util.ArrayList cannot be cast to org.openqa.selenium.android.library.DomWindow

这是Android WebDriver吗?切换到iframe时是否有其他人遇到过类似的错误?有谁知道我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

通过查看代码检查该页面中的帧数,并使用索引切换到该特定帧,如下所示。

driver.switchTo().frame(frameindex);

例如:要切换到第一帧,请使用以下行。

driver.switchTo().frame(0);