我正在使用node.js puppeteer 库来处理WhatsApp Web。除了设法通过上载对话框上载文件之外,我已经设法处理了整个页面。
我尝试了多种方法来处理窗口对话框,包括VBS,批处理,发送键等。
有什么办法可以在对话框的文本行内输入文本,然后也按“打开” https://i.stack.imgur.com/cRVNJ.jpg][1]?
这是我的代码,直到WhatsApp中的添加文件(原始代码)
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3264.0 Safari/537.36');
page.goto('https://web.whatsapp.com/', { waitUntil: 'networkidle2', timeout: 0 }).then(async function (response) {
await page.waitFor(networkIdleTimeout);
await page.waitFor(user_chat_selector);
await page.click(user_chat_selector);
await page.waitFor(networkIdleTimeout);
await page.keyboard.type('Testing');
await page.waitFor(networkIdleTimeout);
await page.keyboard.press('Enter');
await page.waitFor(networkIdleTimeout);
await page.waitFor(pin_attach);
await page.click(pin_attach);
await page.waitFor(networkIdleTimeout);
await page.waitFor(add_image_icon);
await page.click(add_image_icon);
//await page.waitFor(networkIdleTimeout);
// await page.keyboard.type("a");
})
答案 0 :(得分:1)
您不需要打开真实的对话框,这里有一个method for uploading files:
const elementHandle = await page.$('input');
await elementHandle.uploadFile("/path/to/file");