当无头模式为真时,人偶操作者不会转到 chrome://version
puppeteer wont go to chrome://version when headless mode is true
所以我正在使用 puppeteer.connect 方法并尝试转到 chrome://version 以提取 puppeteer 正在使用的用户代理,因此当无头模式为 false 时,它会做的很好但是当尝试无头模式时它会给出这个错误
Error: net::ERR_INVALID_URL at chrome://version
代码示例:
browser = await puppeteer.connect({ browserURL, defaultViewport: null });
page = await browser.newPage();
await page.goto('chrome://version');
const useragent = await page.waitForSelector('#useragent');
const UserAgent = await page.evaluate(element => element.innerText, useragent);
发生这种情况是因为 Chrome 出于安全原因专门阻止以这种方式访问本地文件。
总之,您无需打开版本页面即可获取用户代理。因为有它的方法:
await browser.userAgent();
它 returns:<Promise<string>>
解析为浏览器的原始用户代理的承诺。
所以我正在使用 puppeteer.connect 方法并尝试转到 chrome://version 以提取 puppeteer 正在使用的用户代理,因此当无头模式为 false 时,它会做的很好但是当尝试无头模式时它会给出这个错误
Error: net::ERR_INVALID_URL at chrome://version
代码示例:
browser = await puppeteer.connect({ browserURL, defaultViewport: null });
page = await browser.newPage();
await page.goto('chrome://version');
const useragent = await page.waitForSelector('#useragent');
const UserAgent = await page.evaluate(element => element.innerText, useragent);
发生这种情况是因为 Chrome 出于安全原因专门阻止以这种方式访问本地文件。
总之,您无需打开版本页面即可获取用户代理。因为有它的方法:
await browser.userAgent();
它 returns:<Promise<string>>
解析为浏览器的原始用户代理的承诺。