我正在尝试使用spatie/browsershot
为JS驱动的页面生成HTML。
我正在使用以下代码:
$result = Browsershot::url('https://example.com')
->waitUntilNetworkIdle(true)
->setOption('userAgent', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36')
->noSandbox()
->bodyHtml();
dump($result);
此代码在后台生成以下命令:
PATH=$PATH:/usr/local/bin NODE_PATH=`npm root -g` node '/var/www/html/vendor/spatie/browsershot/src/../bin/browser.js' '{"url":"https:\/\/example.com","action":"content","options":{"args":["--no-sandbox"],"viewport":{"width":800,"height":600},"waitUntil":"networkidle0","userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/67.0.3396.99 Safari\/537.36"}}'
但是,这似乎没有执行任何JS,因为我得到的HTML没有JS生成的DOM ...有什么主意吗?