我想创建一个脚本来解析当前页面的html,过滤掉某些div类,现在将它们的内容写入文件或删除页面上的所有内容。
我想最好的方法是在该页面上运行Tampermonkey脚本。我看了http://userscripts-mirror.org/,但没有找到这样的剧本。
是否有可以在Chrome上运行的javascript html解析器?
可能会有这样的事情吗?
var divClasses = parseCurrentPage("div class x");
// then do something on divClasses and then show only them
答案 0 :(得分:1)
过滤掉某些div类
您可以使用document.getElementsByClassName()
var elements = document.getElementsByClassName(names); // or: var elements = rootElement.getElementsByClassName(names);
- 元素是找到元素的实时
HTMLCollection
。- names 是一个字符串,表示要匹配的类名列表;类名由空格分隔
- getElementsByClassName可以在任何元素上调用,而不仅仅在文档上调用。调用它的元素将用作根 搜索。
答案 1 :(得分:1)
Jquery可以完成所有这些以及更多。我建议你阅读https://learn.jquery.com/
一旦你包含了jquery一个简单的抓取所有“div”元素选择器将是这样的:
var divClasses = $('div');
如果您只想获取某些div元素,可以使用选择器轻松地执行此操作,方法是向选择器添加class,id和/或父级/层次结构级别限制 - 在此处阅读更多https://api.jquery.com/category/selectors/
然后在你想要对div元素做的事情之后,你可以再次使用jquery来仅使用jquery的'append'函数来显示它们。
使用要在父html元素上追加的div元素简单调用'append'函数
$('selector-to-grap-div\'s-parent-html').append(myDiv);
如果你需要抓取其中一个div元素的父元素,那么你可以使用jquery的'parent'函数
答案 2 :(得分:0)
我相信你可以通过jQuery轻松实现...只需获取<body>
的内容并使用jquery进行查询。