use*_*363 2 javascript node.js headless-browser casperjs puppeteer
我需要Puppeteer暂停并等待和的用户输入,username然后password才能继续。这是一个nodejs8.12.0应用程序。
(async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto('https://www.myweb.com/login/');
//code to wait for user to enter username and password, and click `login`
const first_page = await page.content();
//do something
await browser.close();
)}();
Run Code Online (Sandbox Code Playgroud)
基本上,程序会暂停并等待,直到用户单击login按钮。有可能这样做Puppeteer吗?或者我还能做什么?
您可以page.waitForFunction()用来等待某个函数返回真实值,然后再继续。
以下函数将等待,直到#usernameand #password字段包含一个值,然后才能继续:
await page.waitForFunction(() => {
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
return username.length !== 0 && password.length !== 0;
});
Run Code Online (Sandbox Code Playgroud)
但因为你正在进入#username和#password你自己,你可以简单地使用:
await page.type('#username', 'username');
await page.type('#password', 'password');
await page.click('#login');
await page.waitForNavigation();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |