使用Javascript注入访问网站上的文本
Access text on a website using a Javascript injection
我想使用javascript注入访问网站上的特定文本位。
通过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");
可以理解为:Get table elements, select the third。获取该表的所有行,选择第五行。得到这一行的所有单元格。寻找所有100%宽度和顶部对齐的,看看它们是否有h1。
小提琴:http://jsfiddle.net/JUK5R/26/
这取决于页面。
例如,如果你总是对第三个H1感兴趣,那么你可以(使用JQuery的例子,但没有它也很容易做到):
h1s = $("h1");
myh1 = h1s[2];
如果,然而,页面是直接生成的,你将不得不找到一些可重复的方式来总是得到你的元素(例如,获得id xxx的表,遍历行,直到你找到一个文本yyy,并采取第二个div子元素)。
这很可能不会100%有效…但是真的没有别的办法了。
EDIT:例如,要执行我上面所说的操作,您可以执行
// Get all the tds of the table with id tableid
table = $("#tableid td");
// Go through the td
for (var i=0; i<tds.length; i++)
{
// If the content of the cell matches some pattern
if ($(rows[i]).text().match(/somestring/))
{
// Get the span children of the td
divchildren = $(rows[i]).children("span");
// Take the 2nd
requiredText = $(divchildren[1]).text();
}
}
相关文章:
- 如何更改网站上显示的文本
- 在我的网站上以纯文本形式添加最新推文
- 如何使用注入Firefox控制台的js文本来更改网站的背景图像-示例提供
- 如何使用JavaScript或jQuery将纯文本网站捕获到变量中
- 如何使用文本框在网站上保存更改
- 在网站HTML页面上搜索文本
- 如何在网站上创建仅显示文本的简单弹出窗口
- 在其他网站上查找/着色/标记文本
- 我正在尝试使用JS/JQuery自动对网站中的文本执行多个查找和替换操作
- 是否覆盖网站上文本输入区域的默认移动设备键盘?(HTML/JS/jQuery)
- 为网站创建用户生成的文本
- Chrome扩展:弹出操作网站上的文本框
- 我正在尝试为一个网站创建一个文本框,可以将文本更改为用户希望的任何格式
- 如何只将类似facebook的文本框输入我的网站
- 试图弄清楚某个网站的文本动画是否是用某个库或插件完成的
- 从网站中删除文本选择限制的脚本
- 只有文本从我的网站加载在火狐上
- 谷歌文档,用于在网站上提供文本
- 修复视差网站上的文本
- 从网站获取特定文本 (html)