使用Javascript点击非活跃Chrome标签上的链接

时间:2016-02-28 05:28:03

标签: javascript google-chrome

我尝试使用Javascript点击非有效Chrome标签上的链接。我从这个脚本开始:

document.getElementById('extractResults').click();

我发现当我目前在正确的标签和窗口上时,此脚本有效,但当我导航到其他标签或窗口时,它无法正常工作。

这是我到目前为止最接近的,但却无法让它发挥作用!

set tabName to "Name of Tab"
set javascriptStr to "document.getElementById('ID of Link').click();"

tell application "Google Chrome"

  set myTab to tabs of windows whose title is tabName

  repeat with i in myTab
    if (contents of i) = {} then set contents of i to 0
  end repeat

  set myTab to lists of myTab

  if length of myTab = 1 then
    set myTab to item 1 of myTab
    if length of myTab = 1 then
      set myTab to item 1 of myTab
      tell myTab to execute javascript javascriptStr
    end if
  end if
end tell

1 个答案:

答案 0 :(得分:0)

除非两个不同标签中的两个不同网页彼此之间存在某种关系,否则将明确,因为这将是一个严重的安全漏洞。

想象一下,如果我访问了您的网站,我会遇到安全和隐私问题,并且您有代码要迭代并与我在浏览器中打开的其他任何标签进行交互!

但是,如果他们有关系,您的网页可以互动。例如,如果一个选项卡是通过另一个选项卡中的页面中的链接打开。在这种情况下,执行开头的代码必须保存对它打开的页面的窗口变量的引用。

然后,您就可以调用myOtherWindow.document.getElemetnId()和(与大多数情况下)进行交互,就像您当前页面一样。

请参阅:https://developer.mozilla.org/en-US/docs/Web/API/Window/open