我对puppeteer还不熟悉,正在尝试弄清楚如何在puppeteer
中执行作为字符串值提供的javascript代码。
例如,该值(从输入框中检索)可能类似于此:document.getElementById('selector').value='some_value';
我已经实现了以下代码:
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.southwest.com/', { waitUntil: 'domcontentloaded' });
const script = await page.evaluate("document.getElementById('LandingAirBookingSearchForm_originationAirportCode').value='Dallas'; document.getElementById('LandingAirBookingSearchForm_originationAirportCode').dispatchEvent(new Event('input',{bubbles:!0}));");
await browser.close();
但是它返回以下错误:
评估失败:TypeError: 无法设置null的'value'属性
#LandingAirBookingSearchForm_originationAirportCode
不在 DOM 中。你确认过了吗? - Ruan Mendesawait page.evaluate("document.getElementById('LandingAirBookingSearchForm_originationAirportCode')
,这应该返回 null,这意味着你需要等待它。 - Ruan Mendes