就像我说的,你给我们的信息这么少,回答这个问题有点困难。
不过你可以试试看。
未注明日期:
let browser, page;
let pageUrl = 'https://The-Page-Url-Here.com';
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(pageUrl, { waitUntil: 'domcontentloaded', timeout: 60000 });
await page.waitForSelector('body > iframe', { timeout: 60000 });
const elementHandle = await page.$('body > iframe');
const frame = await elementHandle.contentFrame();
await frame.waitForSelector('input[id="number"]');
frame.$eval('input[id="number"]', el => el.value = 'CardNumberValueHere');
} catch (error) {
console.log(error.message);
} finally {
if (browser) {
await browser.close();
console.log('closing browser');
}
}
或者您使用下面的page.evaluate 示例。
let browser, page;
let pageUrl = 'https://The-Page-Url-Here.com';
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(pageUrl, { waitUntil: 'domcontentloaded', timeout: 60000 });
await page.waitForSelector('body > iframe', { timeout: 60000 });
await page.evaluate(() => {
const elementHandle = document.querySelector('body > iframe');
const frame = elementHandle.contentWindow.document.body.querySelector('input[id="number"]');
frame.value = 'CardNumberValueHere'
});
} catch (error) {
console.log(error.message);
} finally {
if (browser) {
await browser.close();
console.log('closing browser');
}
}
或者你可以试试这个。
let browser, page;
let pageUrl = 'https://The-Page-Url-Here.com';
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(pageUrl, { waitUntil: 'domcontentloaded', timeout: 60000 });
const iframe = await page.waitForSelector('body > iframe');
const frame = await iframe.contentFrame();
await frame.type('input[id="number"]', 'CardNumberValueHere');
} catch (error) {
console.log(error.message);
} finally {
if (browser) {
await browser.close();
console.log('closing browser');
}
}