如何解决木偶使用无头假时
我有一个解析特定网页的脚本。 当我将headless设置为false时,操纵up的人不会加载页面
await page.goto('https://www.google.com',{
waitUntil: 'load',// Remove the timeout
timeout: 0
});
我尝试了很多配置,例如:
const args = [
'--no-sandbox','--enable-logging',' --v=1','--disable-gpu','--disable-extension','--disable-setuid-sandbox','--disable-infobars','--window-position=0,0','--ignore-certifcate-errors','--ignore-certifcate-errors-spki-list','--user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/65.0.3312.0 Safari/537.36"'
];
const options = {
args,headless: false,// default is true
userDataDir: "./user_data",defaultViewport: null,devtools: true,ignoreHTTPSErrors: true,};
但是脚本会一直停留到await page.goto
直到超时。
解决方法
据我了解,您不是在解析google.com
页面。
应该考虑的第一件事是waitUntil: 'load'
。完成此操作后,它将认为在触发load事件时导航已完成。
当整个网页(HTML)完全加载,包括所有相关资源(如JavaScript文件,CSS文件和图像)时,就会触发load事件。
在您的情况下此事件没有在合理的超时内触发的可能性很大,因此,我建议不要依赖此waitUntil
,而要使用另一个等待,例如存在某些选择器,例如
await page.goto('https://www.google.com');
await page.waitForSelector('[name="q"]');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。