噩梦-iframe 动态 iframe 名称
Nightmare-iframe dynamic iframe name
如何使用噩梦iframe插件访问具有随机生成名称的iframe?
我试过了
var name = yield nightmare
.goto(defaultUrl)
.click('.btn-login')
.wait('iframe')
.evaluate(function() {
return document.getElementsByTagName('iframe');
});
yield nightmare.use(iframe.withFrameName(name, function(IFnightmare) {
IFnightmare
.type('input[name=username]', 'username')
.type('input[name=password]', 'password')
.click('button[type=submit]')
}))
但此代码以 - 类型错误:无法读取未定义的属性"switchToFrame"结尾
nightmare-iframe
与Nightmare>2.x不兼容 - 它希望能够调用PhantomJS的switchToFrame
,这在Electron中不存在。
从这里开始,我认为您有两种选择:
- 回退到噩梦 1.8.x。它不再受支持(据我所知),但它使用 PhantomJS 作为后备渲染器运行。
- 使用其他库。这个 PR 被提议作为与 Electron 运行时长期存在的 iframe 问题的修复,作为让 Nightmare 执行与您需要的类似操作的可能方法。 我将其重写为插件,可能对您有用。 (该插件非常危险。 请小心使用。
为了完整起见,我还应该指出,原生 iframe 支持已被提议用于 Nightmare 的下一个主要修订版。
相关文章:
- 防止Iframe窗体在新窗口中打开
- 名称输入的索引
- jquery试图按名称获取按钮位置
- 将样式表插入iframe
- 从城市名称获取惊喜
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 如何更改具有相同类、名称的 iframe src
- 在 iframe 中指定全局变量名称时,表单目标会中断
- 当Iframe内容从按钮更改时,动态更改标头名称
- 您是否需要“名称.html”来调整EasyXDM iFrame的大小
- 将随机数打印到 iframe atrribute 名称中
- 从源文档中获取iframe名称
- 从父窗口获取iframe html或名称
- 通过名称获取IFRAME元素不再工作
- 使用vc++ COM从WebBrowser2获取IFrame's的名称
- 噩梦-iframe 动态 iframe 名称
- 文档不会加载到名称已更改但正确的 iframe 中
- 如何遍历iframe并根据名称值设置src值
- 如何在iframe中单击没有id或名称的按钮
- 获取iframe src参数从内部iframe本身,如果我没有它的id属性,但我有名称属性