我想知道是否有人可以指出我到底做错了什么。我正在尝试使用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时是否有其他人遇到过类似的错误?有谁知道我怎么能这样做?
答案 0 :(得分:0)
通过查看代码检查该页面中的帧数,并使用索引切换到该特定帧,如下所示。
driver.switchTo().frame(frameindex);
例如:要切换到第一帧,请使用以下行。
driver.switchTo().frame(0);