【发布时间】:2020-08-03 17:09:38
【问题描述】:
我是 Puppeteer 的新手,几乎没有遇到任何问题。
一般来说,我想通过用户输入来控制脚本,例如在脚本运行时告诉它更改页面或打印元素的内容。它看起来像这样:
- 运行 puppeteer 脚本,打开浏览器和页面
- 让页面做它正在做的事情
- 等待用户输入,例如:[ >> changePage example.com ]i>
- 解析并执行用户命令,例如:[ await page.goto('example.com') ]i>
这是我想要实现的,下面的代码只是一个伪代码。
const puppeteer = require('puppeteer');
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin
});
function parse_user_input(user_str) // executes user commands
{
user_args = user_str.split(' ');
if (user_args[0] == "changePage")
{
await page.goto(user_args[1]);
}
}
function get_user_input() // returns user input
{
return rl.question('>> ');
}
(async() => {
// code for opening the browser and page (already written)
while (true) // I don't want to block the running page
{ // (in real code this gets wild and doesn't wait for input)
user_str = get_user_input();
parse_user_input(user_str);
}
});
感谢您的所有建议!
【问题讨论】:
标签: javascript node.js puppeteer