検索

ホームページ  >  に質問  >  本文

JavaScript コードを使用して Laravel コントローラーで Puppeteer アクションを実行する

<p>Puppeteer を使用して Laravel コントローラーからブラウザを起動していますが、コントローラーから JavaScript コードを実行する方法がわかりません</p> <p>私の関数は次のとおりです:</p> <pre class="brush:php;toolbar:false;">$script = <<<SCRIPT const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({headless: false}); const page = ブラウザを待ちます.newPage(); await page.goto('http://my-url.com'); const button = ページを待ちます。$('button#button'); await button.evaluate( button => button.click() ); await page.waitForTimeout(5000); ... ブラウザを待つ.close(); })(); 脚本; $process = 新しいプロセス(['node', '-e', $script]); $process->run(); $output = $process->getOutput();; <p>ノード シェルでコードのこの部分だけを実行しようとすると: </p> <pre class="brush:php;toolbar:false;">const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({headless: false}); const page = ブラウザを待ちます.newPage(); await page.goto('http://my-url.com'); const button = ページを待ちます。$('button#button'); await button.evaluate( button => button.click() ); await page.waitForTimeout(5000); ... ブラウザを待つ.close(); })(); <p>正常に動作し、ブラウザが開いていることがわかります。関数全体を実行しようとすると、機能しません。したがって、コントローラーでJSコードを実行する方法が間違っていると思います。 </p>
P粉098417223P粉098417223460日前542

全員に返信(1)返信します

  • P粉077701708

    P粉0777017082023-08-29 00:16:15

    JavaScript コード用の新しい js ファイルを作成しました script.js

    リーリー

    そして、コントローラーに変更を加えました:

    リーリー

    これは私にとってはうまくいきました

    返事
    0
  • キャンセル返事