国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Effectuer des actions Puppeteer dans le contr?leur Laravel à l'aide du code JavaScript
P粉098417223
P粉098417223 2023-08-28 09:40:29
0
1
727
<p>J'utilise Puppeteer pour lancer le navigateur à partir d'un contr?leur Laravel, mais je ne sais pas comment exécuter du code JavaScript à partir du contr?leur</p> <p>Ma fonction est la suivante?:</p> <pre class="brush:php;toolbar:false;">$script = <<<SCRIPT const marionnettiste = require('marionnettiste'); (async () => { const navigateur = wait puppeteer.launch({headless: false}); const page = attendre navigateur.newPage(); attendre page.goto('http://my-url.com'); const bouton = attendre la page.$('button#button'); attendre bouton.evaluate( bouton => bouton.click() ); attendre page.waitForTimeout(5000); ... attendre le navigateur.close(); })(); SCéNARIO; $process = new Process(['node', '-e', $script]); $process->run(); $output = $process->getOutput();</pre> <p>Lorsque j'essaie d'exécuter uniquement cette partie du code dans le shell du n?ud?: </p> <pre class="brush:php;toolbar:false;">const marionnettiste = require('marionnettiste'); (async () => { const navigateur = wait puppeteer.launch({headless: false}); const page = attendre navigateur.newPage(); attendre page.goto('http://my-url.com'); const bouton = attendre la page.$('button#button'); attendre bouton.evaluate( bouton => bouton.click() ); attendre page.waitForTimeout(5000); ... attendre le navigateur.close(); })();</pre> <p>Cela fonctionne bien et je peux voir un navigateur ouvert. Lorsque j'essaie d'exécuter toute la fonction, cela ne fonctionne pas. Je pense donc que la fa?on dont j'exécute le code JS dans le contr?leur est erronée. </p>
P粉098417223
P粉098417223

répondre à tous(1)
P粉077701708

J'ai créé un nouveau fichier js pour le code JavaScript script.js

// script.js

const puppeteer = require('puppeteer');
(async () => {
    const browser = await puppeteer.launch({headless: false});     
    const page = await browser.newPage();
    await page.goto('http://my-url.com');
    const button = await page.$('button#button');
    await button.evaluate( button => button.click() );
    await page.waitForTimeout(5000);
    ...
    await browser.close();
})();

Et dans le contr?leur j'ai effectué les modifications?:

$process = new Process(['path/to/node', 'path/to/script.js]);
$process->run();
if(!$process->isSuccessful()) {
  throw new ProcessFailedException($process);
}
$output = $process->getOutput();
$errors = $process->getErrorOutput();

Cela a fonctionné pour moi

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal