찾다

 >  Q&A  >  본문

JavaScript 코드를 사용하여 Laravel 컨트롤러에서 Puppeteer 작업 수행

<p>Puppeteer를 사용하여 laravel 컨트롤러에서 브라우저를 시작하고 있지만 컨트롤러에서 JavaScript 코드를 실행하는 방법을 모르겠습니다</p> <p>내 기능은 다음과 같습니다.</p> <pre class="brush:php;toolbar:false;">$script = <<<SCRIPT const puppeteer = require('puppeteer'); (비동기 () => { const browser = wait puppeteer.launch({headless: false}); const 페이지 = browser.newPage()를 기다립니다; wait page.goto('http://my-url.com'); const 버튼 = 페이지를 기다립니다.$('button#button'); 버튼을 기다립니다.평가(버튼 =>버튼.클릭()); 페이지를 기다립니다.waitForTimeout(5000); ... browser.close()를 기다리세요; })(); 스크립트; $process = new Process(['node', '-e', $script]); $프로세스->실행(); $output = $process->getOutput();</pre> <p>노드 셸에서 코드의 이 부분만 실행하려고 하면: </p> <pre class="brush:php;toolbar:false;">const puppeteer = require('puppeteer'); (비동기 () => { const browser = wait puppeteer.launch({headless: false}); const 페이지 = browser.newPage()를 기다립니다; wait page.goto('http://my-url.com'); const 버튼 = 페이지를 기다립니다.$('button#button'); 버튼을 기다립니다.평가(버튼 =>버튼.클릭()); 페이지를 기다립니다.waitForTimeout(5000); ... browser.close()를 기다리세요; })();</pre> <p>잘 작동하고 브라우저가 열린 것을 볼 수 있습니다. 전체 기능을 실행하려고 하면 작동하지 않습니다. 그래서 컨트롤러에서 JS 코드를 실행하는 방식이 잘못된 것 같습니다. </p>
P粉098417223P粉098417223460일 전541

모든 응답(1)나는 대답할 것이다

  • P粉077701708

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

    JavaScript 코드용 새 js 파일을 만들었습니다 script.js

    으아악

    컨트롤러에서 다음과 같이 변경했습니다.

    으아악

    이것은 나에게 효과적이었습니다

    회신하다
    0
  • 취소회신하다