以下代码有时可能会起作用,有时我会收到错误消息“ ERR:超过导航超时:超过30000ms”
它似乎取决于字符串函数的类型和所请求的站点
我尝试过的所有事情都是结果不一致。即有时它起作用,有时却不起作用;抱歉,没有更多信息
const puppeteer = require('puppeteer');
(async () =>
{
try{
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto('http://www.google.com')
const html = await page.content();
y1 = html.replace('"',"xxxxxxxxxxxxx");
y2 = y1.substr(1,15);
console.log('HTML:', y2);
}//try
catch (err) {console.log('ERR:', err.message);}
})();//async
答案 0 :(得分:0)
默认情况下,每次页面导航到URL(page.goto)时,它都会等待事件“加载”被触发,如果事件(负载)没有被触发,则默认等待30000ms页面抛出:超时超过
您可能正在加载沉重或缓慢的页面 您应该将超时更改为更大的值,具体取决于页面加载所需的时间
通过设置页面的全局超时值:
await page.setDefaultNavigationTimeout(timeout)
//timeout => the time in milliseconds
或在函数调用的参数中设置timout
await page.goto(url,{
timeout: 60000 //timeout here is 60 seconds
})
//timeout => the time in milliseconds