我想使用 JavaScript 注入(inject)访问网站上的特定文本。
但是浏览 HTML,我发现大部分内容都缺少 Id,因此我不知道如何访问文本。
例如,两行 HTML 如下:
<td valign="top" width="100%" >
<h1>My example heading</h1>
还有什么办法可以找出这段文字的内容吗?
此外,如果知道该文本内容,是否有任何方法可以找到以下文本内容......
<td valign="top" width="100%" >
<h1>You are trying to work out:</h1>
<h1>This text</h1>
最佳答案
哦,这还不算太糟糕。你会想做这样的事情:
var els = document.getElementsByTagName("td");
var text1 = "";
var text2 = "";
for (var i = 0; i < els.length; i++) {
if (els[i].width == "100%" && els[i].getAttribute("valign") == "top") {
var h1s = els[i].getElementsByTagName("h1");
if (h1s.length > 0) text1 = h1s[0].innerHTML;
if (h1s.length > 1) text2 = h1s[1].innerHTML;
}
}
现在,如果有很多表,您可能需要将第一行替换为:
var els = document.getElementsByTagName("table")[2].getElementsByTagName("tr")[4].getElementsByTagName("td");
读作:获取表格元素,选择第三个。获取该表的所有行,选择第五行。获取该行的所有单元格。寻找宽度为 100% 且顶部对齐的任何内容,看看它们是否有 h1。
fiddle :http://jsfiddle.net/JUK5R/26/
关于javascript - 使用 Javascript 注入(inject)访问网站上的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8689434/