我有此代码来请求页面并返回正文
const https = require('https');
https.get('https://www.example.com', (resp) => {
let data = '';
resp.on('data', (chunk) => {
data += chunk;
});
resp.on('end', () => {
console.log(data);
});
});
我想在获取正文之前在页面内调用一个函数。
例如,页面上有一个按钮或链接,该按钮或链接调用一个函数来执行某项操作,而我想在获取主体之前调用相同的按钮。
我要说的是,我不想在页面中编写和执行自己的代码,我只想使用页面中已经存在的某些代码,就像普通用户只是按下该按钮一样。
谢谢。
答案 0 :(得分:0)
您需要使用Puppeteer模拟浏览器。
使用http / s发送请求时,您获得的只是来自服务器的数据。浏览器负责理解并将接收到的html / css / javascript组装为用户可以与之交互的内容-在您的情况下,根据用户事件调用特定功能。
因此,要调用该功能(以及该功能与页面的html进行交互),您需要使用无头浏览器(如Puppeteer)构造DOM。您也可以使用PhantomJS,但我建议不要这样做。
以防万一,您不需要在此服务器端工作,可以使用浏览器扩展来完成工作。