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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用带有量角器的phantomjs访问iframe中的web元素相关的知识,希望对你有一定的参考价值。

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
另一答案

是..首先,使用console.log(page.childFramesName());仔细检查iframe的id名称。接下来,您可以使用page.switchToChildFrame('name_here');将页面切换到iframe。最后,你可以做任何你想做的事。

以上是关于使用带有量角器的phantomjs访问iframe中的web元素的主要内容,如果未能解决你的问题,请参考以下文章

在 phantomjs 中访问 iframe 的 contentDocument

量角器在 PhantomJS 上运行测试

使用量角器切换到 iframe 后找不到使用定位器错误的元素

带有量角器的黄瓜 HTML 报告

使用带有 Angular2 和 Socket.io 的量角器运行 e2e 测试

成功解决后,带有打字稿的量角器找不到模块“量角器”