Tha*_*ang 15 node.js platformio puppeteer
我正在尝试使用 puppeteer 从公司网站中提取一些表格。
但我不明白为什么浏览器打开 Chromium 而不是我的默认 Chrome,然后导致“TimeoutError:超过 30000 毫秒的导航超时”,不让我有足够的时间使用 CSS Selector。我找不到引用此的文档。
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage()
await page.goto('https://www....com');
//search tearm
await page.type("#search_term","Brazil");
//await page.screenshot({path: 'sc2.png'});
//await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)
ama*_*ary 26
Puppeteer 默认是基于 Chromium 的。如果您想使用 Chrome,则必须通过executablePath启动参数指定可执行路径。但说实话,大多数时候,这样做是没有意义的。
let browser = await puppeteer.launch({
executablePath: `/path/to/Chrome`,
//...
});
Run Code Online (Sandbox Code Playgroud)
和使用 chromium之间没有相关性TimeoutError: Navigation timeout of 30000 ms exceeded,而是更有可能您的目标网址(尚)不可用。
如果出现以下情况,page.goto 将抛出错误:
- 存在 SSL 错误(例如,在自签名证书的情况下)。
- 目标网址无效。
- 导航期间超时。
- 远程服务器没有响应或无法访问。
- 主要资源加载失败。
默认情况下,最大导航超时为 30 秒。如果由于某种原因,您的目标网址需要更多时间来加载(这似乎不太可能),您可以指定一个timeout: 0选项。
await page.goto(`https://github.com/`, {timeout: 0});
Run Code Online (Sandbox Code Playgroud)
由于 Puppeteer 在返回 HTTP 状态代码时不会抛出错误...
当远程服务器返回任何有效的 HTTP 状态代码时,page.goto 不会抛出错误,包括 404“未找到”和 500“内部服务器错误”。
我通常检查HTTP 响应状态代码以确保没有遇到任何404 Client 错误响应 Bad Request。
let status = await page.goto(`https://github.com/`);
status = status.status();
if (status != 404) {
console.log(`Probably HTTP response status code 200 OK.`);
//...
};
Run Code Online (Sandbox Code Playgroud)
我在这里盲目飞行,因为我没有你的目标网址,也没有关于你想要完成的任务的更多信息。
您还应该阅读puppeteer api 文档。
小智 6
下面的方法对我有用。尝试将以下“1 Liner”添加到您的代码中。
该setDefaultNavigationTimeout方法允许您定义选项卡的超时,并期望第一个参数为value in milliseconds. 这里有一个值0 means an unlimited amount of time。因为我知道我的页面有一天会加载。
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage()
// Add the below 1 line of code
page.setDefaultNavigationTimeout(0);
// follows the rest of your code block
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62441 次 |
| 最近记录: |