我正在尝试从网站上获取一些信息,该数据在初始加载时不可用,因此我需要将其加载到浏览器中,以便进行抓取。
我正在使用操纵up。当我在centos 7服务器中使用headless:false
运行Chrome时,出现此错误(chrome:5006): Gtk-WARNING **: cannot open display:
。
我安装了xorg-x11-server-Xvfb
和所有依赖项。
铬本身在headless:true
时运行,但是我要打开的站点为net::ERR_CONNECTION_RESET
。
我如何告诉Chrome使用Xvfb服务器?甚至有可能吗?
我的代码:
const browser = await puppeteer.launch({ headless: false, args: ['--no-sandbox'] });
const page = await browser.newPage();
await page.goto('https://targetdomain/', { waitUntil: 'networkidle2' });
答案 0 :(得分:0)
似乎有一个解决我问题的简单方法。
在这里找到解决方案:https://github.com/GoogleChrome/puppeteer/issues/1477
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3419.0 Safari/537.36');