import { firefox,chromium } from 'playwright'; async function run({ @foreach ($params as $param) {{ $param['var'] }}{{ !$loop->last?',':'' }} @endforeach }) { const browser = await chromium.launch({ // executablePath: '/var/www/firefox/firefox', headless: true }); const page = await browser.newPage(); // Navigate to the page await page.goto('{{ $url }}', { timeout: 0 }); @foreach ($params as $param) @if ($param['type'] == 'select') if( await page.isVisible("{{ $param['input_name'] }}") ) { await page.selectOption("{{ $param['input_name'] }}", "{{ $param['value'] }}"); } @endif @if ($param['type'] == 'input') if( await page.isVisible("{{ $param['input_name'] }}") ) { await page.fill("{{ $param['input_name'] }}", {{ $param['var'] }}); } @endif @endforeach async function extractText(selector) { try { return await page.innerText(selector); } catch (error) { console.error(`Error extracting text from selector "${selector}":`, error); return null; } } @foreach ($extcracted as $extract) const result{{ $loop->iteration }} = await extractText('{{ $extract }}'); console.log(result{{ $loop->iteration }}); @endforeach await browser.close(); } @foreach ($params as $param) var {{ $param['var'] }} = "{{ $param['value'] }}"; @endforeach run({ @foreach ($params as $param) {{ $param['var'] }}: {{ $param['var'] }} {{ !$loop->last?',':'' }} @endforeach }); // render time: {{ date('Y-m-d H:i:s') }}