hongfangze-browser
v1.0.0
Published
comm.browser
Readme
浏览器自动化及数据抓取
介绍
浏览器Api
开始使用
npm install hongfangze-brower
import Browser from "hongfangze-brower";
// 注意:sleep只是为了调试
// 初始化一个浏览器对象
const browser = new Browser({
executable: {
// 浏览器所在位置,如果已经安装Chrome浏览器,可以部传浏览器启动路径
path: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
}
});
try {
// 启动浏览器,也可以不启动,打开新标签页的时候,会自动启动
await browser.launch();
// 打开一个网页
let page = await browser.newPage("http://www.baidu.com");
// 获取网页加载的网络请求信息
console.log("request0:", page.networks[0].request);
console.log("response0:", page.networks[0].response);
// 搜索框填入待搜索的内容
await page.fill("#kw", "今天是几号");
// 点击搜索按钮
await page.click("#su");
await sleep(1000);
// 滚动元素
await page.scroll("#searchTag", 0, 200);
await sleep(1000);
// 滚动整个网页到最底下
await page.scrollToBottom();
await sleep(1000);
// 滚动整个网页到最上面
await page.scrollToTop();
await sleep(1000);
// 获取当前网页源码,可以配合hongfangze-convert的html2dom函数进行解析html
const html = await page.html();
await sleep(1000);
// 截图
await page.screenshot("baidu.clip.jpeg");
await page.screenshot("baidu.full.jpeg", true);
await sleep(1000);
// 获取网站cookie,sessionstorage等同理,亦可设置sessionstorage等数据
const cookie = await page.javascriptRuntime(() => {
return document.cookie;
});
// 在网页中执行任意javascript代码
await page.javascriptRuntime(`
alert(document.location.origin);
`);
// 在网页中执行任意javascript代码(外部变量穿透进网页)
var age = 30, name = "hongfangze";
await page.javascriptRuntime<[string, number]>((name, age) => {
alert(`${document.location.origin}:我叫${name},我已经${age}岁了!`);
}, null, name, age);
// 关闭标签页,也可以不关闭,最后一起释放整个浏览器
await page.close();
await sleep(1000);
} catch (e) {
console.error(e);
} finally {
// 关闭并释放浏览器进程
await sleep(3000);
await browser.release();
}
版本迭代记录
2025-06-05 v1.0.0
- 浏览器的启动,加载网页实现。
- 打开的页面支持一些操作,获取源码、在远程页面中执行javascript等。
