【发布时间】:2018-11-25 01:12:30
【问题描述】:
如何在 page.evaluate() 语句中执行客户端 JS 代码(不仅仅是浏览器 JavaScript 代码,Node.js 代码)?
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.png'});
await page.evaluate(() => {
document.querySelector('button[type=submit]').click();
});
console.log('yes')
await browser.close();
})();
【问题讨论】:
-
但是你不是已经这样做了吗?
document.querySelector('button[type=submit]').click();应该在浏览器上下文中执行 -
或者你的意思是在浏览器关闭之前点击不会发生?究竟是什么不工作?
标签: javascript node.js google-chrome-devtools puppeteer headless-browser