chrome扩展如何模拟点击特定网页中的超链接?

楼主想利用chrome插件来自动点击某网页XXX.html中的连接,其中的连接形式如下:

<a class="item" href="/pageContent.htm"><img src="pic.jpg" title="全国地图" alt="全国地图" class=""></a>

楼主自己写了个插件小demo,但是跑不成功,具体manifest.json文件如下所示:

  "browser_action": {
      "default_icon": "icon/wuzang.png",
      "default_popup": "popup.html"
   },
    "permissions": [    
          "tabs", "http://*/*","https://*/*"     
     ],    
   "content_scripts": [ {
      "js": [ "jquery-1.7.2.min.js", "contentJs.js" ],
      "matches": [ "http://XXX.html]
   } ],
   "default_locale": "en",
   "description": "demo",
   "manifest_version": 2,
   "name": "demo",
   "version": "0.10"

ContentJs文件如下所示:

 function toMap(){
    console.debug("toMap")
    //选中该连接的url
    mapHref = $("#a").attr("href")
    alert(mapHref)
    if(mapHref == undefined) return;
    else goToLink(mapHref)
}

function goToLink(href){
    location.href = href;
    return;
}

function toMap2(){
    console.debug("toMap")
    map = $("a");
    map.click();
}




setInterval(toMap2(),5000)
setInterval(toMap(),5000)

这样写完了之后,页面只在刷新重新加载的时候弹出了tomap()方法中的alert提示框,显示undefined,请问有大神知道为什么这样做行不通吗

setInterval需要函数句柄,
setInterval(toMap2(),5000)
setInterval(toMap(),5000)
你这里是执行函数将返回值作为setInterval的执行的句柄了,所以只会输出一次,改下面的
setInterval(toMap2,5000)
setInterval(toMap,5000)

还有mapHref = $("#a").attr("href")这句,你的是a标签,又不是id为a的控件,改为标签选择器,而不是id选择器
mapHref = $("a").attr("href")