如何在 Puppeteer 中实现 page.type()?
How to implement page.type() in Puppeteer?
我想使用 Puppeteer 在以下表格的邮政编码字段中输入邮政编码。
https://www.hudhomestore.com/Listing/BrokerSearch.aspx?sLanguage=ENGLISH
脚本运行后,我希望看到邮政编码出现在表单的邮政编码字段中。但是,相反,我收到以下错误消息。
UnhandledPromiseRejectionWarning: TimeoutError: waiting for selector "#txtZipCode" failed: timeout 30000ms exceeded
我加了一个
page.waitForNavigation({ waitUntil: 'domcontentloaded', });
每次页面更新时执行命令 according to this SO answer。但这并没有帮助。
我做错了什么?
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false,
waitUntil: 'load',
});
const page = await browser.newPage();
const navigationPromise = page.waitForNavigation({ waitUntil: 'domcontentloaded', });
await page.goto('https://www.hudhomestore.com/Listing/BrokerSearch.aspx?sLanguage=ENGLISH');
navigationPromise;
await page.waitForSelector('#txtZipCode');
await page.type('#txtZipCode', '79936',);
})()
该元素位于 iframe 中。试试这个:
const page = await browser.newPage();
await page.goto('https://www.hudhomestore.com/Listing/BrokerSearch.aspx?sLanguage=ENGLISH');
await page.waitForSelector('#inWin107');
const iframeElement = await page.$('#inWin107');
const frame = await iframeElement.contentFrame();
await frame.waitForSelector('#txtZipCode');
await frame.type('#txtZipCode', '79936');
我想使用 Puppeteer 在以下表格的邮政编码字段中输入邮政编码。
https://www.hudhomestore.com/Listing/BrokerSearch.aspx?sLanguage=ENGLISH脚本运行后,我希望看到邮政编码出现在表单的邮政编码字段中。但是,相反,我收到以下错误消息。
UnhandledPromiseRejectionWarning: TimeoutError: waiting for selector "#txtZipCode" failed: timeout 30000ms exceeded
我加了一个
page.waitForNavigation({ waitUntil: 'domcontentloaded', });
每次页面更新时执行命令 according to this SO answer。但这并没有帮助。
我做错了什么?
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false,
waitUntil: 'load',
});
const page = await browser.newPage();
const navigationPromise = page.waitForNavigation({ waitUntil: 'domcontentloaded', });
await page.goto('https://www.hudhomestore.com/Listing/BrokerSearch.aspx?sLanguage=ENGLISH');
navigationPromise;
await page.waitForSelector('#txtZipCode');
await page.type('#txtZipCode', '79936',);
})()
该元素位于 iframe 中。试试这个:
const page = await browser.newPage();
await page.goto('https://www.hudhomestore.com/Listing/BrokerSearch.aspx?sLanguage=ENGLISH');
await page.waitForSelector('#inWin107');
const iframeElement = await page.$('#inWin107');
const frame = await iframeElement.contentFrame();
await frame.waitForSelector('#txtZipCode');
await frame.type('#txtZipCode', '79936');