因此,我使用puppeteer.connect方法,并试图转到chrome://版本来提取木偶人正在使用的用户代理,所以当headless模式为false时,它可以很好地工作,但当尝试headless模式时,它会显示以下错误
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);
发布于 2021-06-25 09:06:36
这是因为Chrome出于安全考虑,特意阻止了本地文件的访问。
无论如何,您不需要打开版本页面来获取用户代理。因为它有一个方法:
await browser.userAgent();
它返回:<Promise<string>>
Promise,它解析为浏览器的原始用户代理。
https://stackoverflow.com/questions/68128095
复制