| 1234567891011121314151617181920212223242526272829303132333435 |
- const { JSDOM } = require("jsdom");
- // 提取DOM元素函数
- module.exports = {
- extractDOM(htmlString, selector) {
- if (!htmlString.trim()) {
- console.log("请输入HTML字符串");
- return "";
- }
- if (!selector.trim()) {
- console.log("请输入CSS选择器");
- return "";
- }
- try {
- // 使用 jsdom 解析 HTML
- const dom = new JSDOM(htmlString);
- const doc = dom.window.document;
- // 使用选择器查找元素
- const elements = doc.querySelectorAll(selector);
- if (elements && elements.length > 0) {
- // 返回匹配的元素列表(转换为数组方便处理)
- return Array.from(elements);
- } else {
- console.log("未匹配到元素:", selector);
- return "";
- }
- } catch (error) {
- console.log("解析HTML时出错: ", error.message);
- return "";
- }
- }
- };
|