代码拉取完成,页面将自动刷新
// 新增消息监听(在原有代码顶部添加)
// @ts-ignore
chrome.runtime.onMessage.addListener((message) => {
if (message.type === "manual_refresh") {
// 重新开始观察并执行提取
observer.observe(document, { childList: true, subtree: true });
extractHotSearch();
}
// 添加对右键菜单消息的处理
if (message.type === "extract_material_data") {
// 重新开始观察并执行提取
observer.observe(document, { childList: true, subtree: true });
// 执行数据提取
extractHotSearch();
}
});
// 保持原有 MutationObserver 和 extractHotSearch 函数不变
// 监听页面变化(针对动态加载内容)
const observer = new MutationObserver(() => {
// extractHotSearch();
});
// 开始观察整个文档
observer.observe(document, {
childList: true,
subtree: true
});
// 提取热搜内容的核心函数
function extractHotSearch() {
const target = document.getElementById('mini-5$body$1');
// console.log(444, target);
if (target) {
// 找到目标后停止观察
observer.disconnect();
// 供货商
const gonghuoDw = document.getElementById('gonghuoDw')?.innerHTML;
/** 送货单号 */
const shenlingno = document.getElementById('shenlingno')?.innerHTML;
// 提取热搜列表
const items = target.querySelectorAll('[id^="mini-33$row2$"]');
/**
* @type {{ title: string | undefined; code: string | undefined; num: string | undefined; unit: string | undefined; specs: string; danjia: string | undefined; }[]}
*/
const results = [];
Array.from(items).forEach((item, index) => {
/** 型号 */
let model = document.getElementById(`${index + 1}$cell$10`)?.querySelector('div')?.innerText;
if (model == "--") {
model = "";
}
/** 编号 */
let code = document.getElementById(`${index + 1}$cell$4`)?.querySelector('a')?.innerText?.replace(/\(已同步\)/, "");
if (!code) {
code = document.getElementById(`${index + 1}$cell$4`)?.querySelector('div')?.innerText?.replace(/\(已同步\)/, "")
}
results.push({
title: document.getElementById(`${index + 1}$cell$5`)?.querySelector('div')?.innerText,
code: code,
num: document.getElementById(`${index + 1}$cell$18`)?.querySelector('div')?.innerText,
unit: document.getElementById(`${index + 1}$cell$9`)?.querySelector('div')?.innerText,
specs: document.getElementById(`${index + 1}$cell$11`)?.querySelector('div')?.innerText + `${model ? "/" : ""}` + `${model || ""}`,
danjia: document.getElementById(`${index + 1}$cell$16`)?.querySelector('div')?.innerText,
// heat: item.querySelector('.hot-index')?.innerText
});
});
const sentData = { data: results, gonghuoDw: gonghuoDw, shenlingno: shenlingno };
// 发送数据到后台
// @ts-ignore
chrome.runtime.sendMessage({ type: "hotsearch_data", data: sentData });
console.log("发送数据", sentData);
// @ts-ignore
chrome.runtime.sendMessage({ type: "submit_hotsearch_data", data: sentData });
}
}
// 初始执行一次
// extractHotSearch();
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。