【发布时间】:2019-04-15 13:20:45
【问题描述】:
我正在 puppeteer 中创建一个测试套件,但无法选择 iframe 下拉菜单。
我阅读了文档,运行了几个场景,但似乎无法弄清楚。
try {
(async () => {
const browser = await puppeteer.launch({headless: false,
slowMo: 100});
const page = await browser.newPage();
await page.setViewport({ width: 1280, height: 800 });
await page.goto('https://giving.kcmhq.org/');
await page.click('.col-sm-12 > .form-group > .radio >
.radio-inline > #invoice_items_0_gift_array_0');
await page.type('.form-group > .form-inline > .col-sm-12 >
.input-group > #invoice_items_0_other_amount', '9999');
await page.click('.form-group > .col-sm-8 > div > .btn-other > #invoice_items_0_is_recurring');
await page.select('#invoice_items_0 > .fund-inputs-container > .form-group > .col-xs-3 >
#invoice_items_0_recurring_withdrawal_day', '15');
try {
const frame = await page.frames().find(f => f.name() ===
'payment_iframe');
const cardNumber = await frame.$('#card_number');
await cardNumber.type("444433322221111");
}catch (e) {
}
try {
const frame = await page.frames().find(f => f.name() ===
'payment_iframe');
const [response] = await Promise.all([
frame.select('#card_expiration_month', 'March'),
]);
}catch (e) {
}
信用卡示例的 iframe 有效,但“car_expiration_month”下拉菜单和选择月份的 iframe 无效。
【问题讨论】:
标签: javascript puppeteer end-to-end