我的目标是使用JavaScript扫描网页并确定是否存在特定字符串。这里的难点在于页面是动态呈现的,因此有问题的字符串从不出现在源代码中。
如果字符串在页面上呈现,那么字符串是否会出现在DOM中?如果我要扫描DOM,我会在那里找到它,是否有任何特殊的考虑因素,如果是这样的话?
基本上我正在寻找一种简单的方法来扫描已在页面上呈现的文本,而不是源代码。这必须是可能的,因为我的浏览器的“在页面上查找”功能适用于动态呈现的页面。是否有办法通过浏览器API本身访问页面上的渲染元素? (我正在使用Chrome。)
答案 0 :(得分:1)
试试这个:
var stringToSearchFor = 'foobar';
var searchThisString = document.body.innerText || document.body.textContent;
var found = (searchThisString.indexOf(stringToSearchFor) >= 0);
这将从页面中提取文本,忽略所有标记,然后对结果字符串进行简单扫描。
在某些版本的FireFox中,这将包含内联脚本标记的内容。