【发布时间】:2020-04-28 07:32:02
【问题描述】:
是否可以手动导航到页面,然后在那里启动 Puppeteer 脚本,导航到不同的页面,在那里启动脚本等等..
我已经做了一些研究,但找不到任何东西。
我需要自动填充日历,但自动化整个过程有点困难,所以如果我可以手动导航并在需要时启动脚本会很好
有谁知道这是否可行??
【问题讨论】:
标签: javascript node.js forms automation puppeteer
是否可以手动导航到页面,然后在那里启动 Puppeteer 脚本,导航到不同的页面,在那里启动脚本等等..
我已经做了一些研究,但找不到任何东西。
我需要自动填充日历,但自动化整个过程有点困难,所以如果我可以手动导航并在需要时启动脚本会很好
有谁知道这是否可行??
【问题讨论】:
标签: javascript node.js forms automation puppeteer
您可以编写一个交互式控制台应用程序,就像here 解释的那样。
在该应用程序上,您将启动一个以 false 为 headless 的浏览器,导航到您想去的地方,然后您可以从控制台应用程序中输入类似 fillform 的命令并执行您想运行的 puppeteer 代码。
【讨论】:
不确定为什么有人投反对票?
是的,这是可能的。不建议这样做。最好先解决错误,然后了解页面自动化的真正工作原理。这就是 Puppeteer 的重点。也可以使用开发工具中的控制台在 chrome 中的页面上运行 JavaScript。
但是,如果您想使用 puppeteer 手动导航到页面,然后根据条件使用 node.js 在页面上运行“宏”,您需要执行以下操作:
headless:错误启动(显然是为了让你可以看到浏览器)
让您的脚本/填充函数等待页面上的事件,例如指示页面已刷新的请求。你也许可以 使用 page.on() 事件触发代码等待 请求完成。
await page.setRequestInterception(true);
page.on('request', request => {
// Override headers
const headers = Object.assign({}, request.headers(), {
foo: 'bar', // set "foo" header
origin: undefined, // remove "origin" header
});
request.continue({headers});
});
【讨论】: