使用puppeteer处理模态对话框输入字段

时间:2018-02-27 15:45:44

标签: javascript unit-testing automated-tests puppeteer

我有一个网页,有按钮注册。我点击注册就会显示模态对话框。我能够单击并获取对话框,但无法在对话框输入字段中输入值。对以下代码的任何帮助



const puppeteer = require('puppeteer');
puppeteer.launch({headless: false}).then(async browser => {
  	const page = await browser.newPage();
  	await page.goto('https://paytm.com/paytmwallet');

page.waitForSelector('#site-wrapper > menu-user-screens > div > div > div > div.bigContainer-profile > div > ul > li.last > button');

const login=await page.$('#site-wrapper > menu-user-screens > div > div > div > div.bigContainer-profile > div > ul > li.last > button');
 login.click();

 await page.type('#input_0','87777799')
});




1 个答案:

答案 0 :(得分:0)

在尝试输入内部之前,您必须确保选择器可用,就像您对网站包装一样,因此您需要做的就是将标有星号的行添加到您的cade基地,您很高兴。

const puppeteer = require('puppeteer');
    puppeteer.launch({headless: false}).then(async browser => {
        const page = await browser.newPage();
        await page.goto('https://paytm.com/paytmwallet');

    page.waitForSelector('#site-wrapper > menu-user-screens > div > div > div > div.bigContainer-profile > div > ul > li.last > button');

    const login=await page.$('#site-wrapper > menu-user-screens > div > div > div > div.bigContainer-profile > div > ul > li.last > button');
     login.click();

     **page.waitForSelector('#input_0', {timeout:30000})

     await page.type('#input_0','87777799')
    });