Javascript ';MessageChannel未定义';在使用reCaptcha v2的页面上触发
我目前正试图抓取一些已实现recaptcha的站点,但每当我加载页面的源代码时,就会出现以下错误:Javascript ';MessageChannel未定义';在使用reCaptcha v2的页面上触发,javascript,node.js,dom,jsdom,Javascript,Node.js,Dom,Jsdom,我目前正试图抓取一些已实现recaptcha的站点,但每当我加载页面的源代码时,就会出现以下错误: (节点:15536)未处理的PromisejectionWarning:ReferenceError:MessageChannel未定义 我尝试在这里实现修复:,但它仍然抛出错误 这是我的密码: constjsdom=require('jsdom'); const request=require('request'); const{JSDOM}=JSDOM; 常量url=https://www.g
(节点:15536)未处理的PromisejectionWarning:ReferenceError:MessageChannel未定义
我尝试在这里实现修复:,但它仍然抛出错误
这是我的密码:
constjsdom=require('jsdom');
const request=require('request');
const{JSDOM}=JSDOM;
常量url=https://www.google.com/recaptcha/api2/demo';
函数getPage(){
返回新承诺(功能(解决、拒绝){
get(url、函数(错误、响应、正文){
如果(错误){
拒绝(错误);
}
否则{
决议(机构);
}
}
});
}
(异步()=>{
const dom=new JSDOM(等待getPage(){
网址,
contentType:'text/html',
运行脚本:“危险的”,
资源:'可用',
假装:是的,
beforeParse(窗口){
window.MessageChannel=require('worker_threads').MessageChannel;
}
});
})();
提前感谢,
iLink消息频道在iframe上下文中不可用
beforeParse
函数不会在帧中运行:消息通道在iframe上下文中不可用
beforeParse
函数不会在帧中运行:您是否正在传递节点
标记--experimental worker标记?我已经尝试过了。即使我添加了它,它仍然会抛出错误,只是为了确保清楚:当我尝试评估“new MessageChannel()时,它工作正常)“。它只在ReCaptcha v2的上下文中给出了错误。您是否传递了节点
的--实验工作者
标志?我已经尝试过了。即使我添加了它,它仍然会抛出错误,只是为了确保清楚:当我尝试评估“new MessageChannel()”时,它工作正常。它只在ReCaptcha v2的上下文中给出了错误。”。