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

Use Javascript to click link on non-active Chrome tab

本文关键字:标签 链接 Chrome 非活动 Javascript 使用      更新时间:2023-09-26

我正在尝试使用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

除非两个不同选项卡中的两个不同网页彼此之间有某种关系,否则将明确不允许这样做,因为它将是一个严重的安全漏洞。

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

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

然后,您将能够调用myOtherWindow.document.getElemetnId()并(在大多数情况下)与它进行交互,就像您处理当前页面一样。

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