JavaScript コードを使用して Laravel コントローラーで Puppeteer アクションを実行する
P粉098417223
P粉098417223 2023-08-28 09:40:29
0
1
559
<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粉098417223
P粉098417223

全員に返信(1)
P粉077701708

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

リーリー

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

リーリー

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート