Abd*_*lah 5 headless chromium puppeteer
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch();
const page = await browser.newPage();
Run Code Online (Sandbox Code Playgroud)
这个有效
await page.goto('https://example.com');
Run Code Online (Sandbox Code Playgroud)
这不起作用(没有协议,即 http/https)
await page.goto("www.example.com');
Run Code Online (Sandbox Code Playgroud)
它抛出错误
协议错误 (Page.navigate):无法导航到无效 URL
为什么它不像我们在 Google Chrome 中打开时那样附加协议?
在谷歌浏览器网址列(地址栏)已建成功能,可以处理多种复杂问题,如:附加协议,自动完成,等等。
Puppeteer 提供了一个 API 来通过DevTools 协议控制 Chrome 或 Chromium ,因此目前大部分功能超出了 Puppeteer 的范围。
该函数的 Puppeteer 文档page.goto()
明确指出:
网址应包括方案,例如
https://
。
这是因为page.goto()
利用Page.navigate
了 Chrome DevTools 协议。
该铬源代码显示,通过导航Page.navigate
明确检查的有效性,而且如果该网址是无效的,它会返回错误,“不能导航到无效的网址。”
您可以在 Node.js 中轻松创建一个将协议附加到 URL 的函数,这可能是解决您问题的方法。
归档时间: |
|
查看次数: |
7461 次 |
最近记录: |