お知らせ:弊社では全社員リモートワークを実施しております、通常通りお問い合わせはフォームから随時お受けしております。

PHPでpuppeteerを動かせるPuPHPeteerのよくある記述方法一覧

PHPでpuppeteerを動かせるPuPHPeteer

https://github.com/nesk/puphpeteer

プログラムに関してはこちら、詳細に関しては説明しているサイトがたくさんあるので割愛

以下のようなエラーになる

Fatal error: Uncaught NeskRialtoExceptionsNodeFatalException: Failed to launch chrome! 
[FATAL:zygote_host_impl_linux.cc(116)] No usable sandbox! Update your kernel or see 

https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md

for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox. 

サンドボックスを切ればエラーは解消されます

$browser = $puppeteer->launch();

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

$browser = $puppeteer->launch([ 'args' => ['--no-sandbox', '--disable-setuid-sandbox']]);

ベーシック認証をパスしたい

$user = '[ベーシック認証のユーザー]';
$pass = '[ベーシック認証のパスワード]';
$page = $browser->newPage();
$page->setExtraHTTPHeaders(array(
	'Authorization' => 'Basic '.base64_encode($user.':'.$pass),
));
$page->goto('[ベーシック認証のページ]');

ページのbodyを取得したい

$pagebody = $page->evaluate(JsFunction::createWithBody("return document.body.innerHTML;"));
  • このエントリーをはてなブックマークに追加
  • Share on Tumblr