使用带量角器的 phantomjs 访问 iframe 中的 Web 元素

Accessing web elements inside iframe using phantomjs with protractor

phantomjs 可以在 iFrame 中执行 getText() 或 enterText() 之类的操作吗?我正在使用量角器进行测试。 Phantomjs 可以在默认框架中执行操作,但在 iframe 中定位器会超时。有什么建议吗?

您需要切换 到 iframe 才能使用它。像这样...

browser.switchTo().frame(iframeNameOrIndex);

然后切换回来,你使用:

browser.driver.switchTo().defaultContent();

Protractor API 是一个很好的来源……

此外,如果 iframe 来自另一个域,您可能需要为 phantomjs 添加 --web-security=no 选项:

phantomjs --web-security=no spec.js

是.. 首先,double-check 使用 console.log(page.childFramesName()); 的 iframe id 的名称。接下来,您可以使用 page.switchToChildFrame('name_here'); 将页面切换到 iframe。终于可以随心所欲了