gpt4 book ai didi

javascript - 尝试触发一堆包含不同数字的 onclicks

转载 作者:行者123 更新时间:2023-11-28 09:43:55 25 4
gpt4 key购买 nike

我可以访问一个页面,其中包含一堆如下链接:

<a href="#" onclick="navigate(___VIEW_RAID_2, {raid_inst_id:556816});return false;">

raid_inst_id: 之后的数字总是不同的,并且同一页面上会有多个具有不同数字的数字。我正在尝试编写一个 JavaScript,它将在页面上抓取这些链接,将它们放入一个数组中,然后循环单击它们。

理想情况下,在单击之间引起暂停的警报会有所帮助。到目前为止,我什至尝试收集数字并只是重复它们都没有成功,更不用说操纵它们了。

任何提示或帮助将不胜感激!

下面是我尝试组合的一个函数,只是为了看看是否可以捕获一些 onclick 值以进行进一步处理,但是,这不会产生任何结果...

function closeraids(){
x=document.getElementsByTagName('a');
for(i=0;i<x.length;i++)
{
attnode=x.item(i).getAttributeNode('onclick');
alert("OnClick events are: " + attnode);
}
}
<小时/>

哇 - 4 个月后,同样的问题仍然存在。我决定再次研究这个问题,结果在我的谷歌搜索中找到了我自己发布的问题!有人对这里可以做什么有任何想法吗?我试图提供的功能将是我已经向用户提供的 Chrome 扩展程序的一部分。它使用我在网络服务器上托管的 .js 文件和注入(inject)的 html 内容的组合。

如有任何帮助,我们将不胜感激!

最佳答案

制作这个 jsfiddle 时玩得很开心:http://jsfiddle.net/Ralt/ttkGG/

主要是因为我继续使用几乎全功能的风格......但是好吧。回答你的问题。

我正在使用 getAttribute('onclick') 来获取其中的字符串。它显示如下:

"navigate(___VIEW_RAID_2, {raid_inst_id:553516});return false;"

所以我只是构建了必要的正则表达式来匹配它,并捕获 raid_inst_id 之后的数字:

var re = /navigate\(___VIEW_RAID_2, {raid_inst_id:(\d+)}\);return false;/;

它主要是通过转义括号并将 (\d+) 放在您想要捕获数字的位置来重写字符串。 (\d+ 匹配数字,() 捕获匹配的字符串。)

使用 match(),我可以简单地将捕获的字符串作为最后一个元素。所以,用旧的IE方式重写代码:

var links = document.getElementsByTagName('a'),
re = /navigate\(___VIEW_RAID_2, {raid_inst_id:(\d+)}\);return false;/;

for (var i = 0, l = links.length; i < l; i++) {
var attribute = links[i].getAttribute('onclick'),
nb;

if (nb = attribute.match(re)) {
alert(nb.pop());
}
}

关于javascript - 尝试触发一堆包含不同数字的 onclicks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12060026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com