跨多个页面运行控制台功能

Run console function across multiple pages

本文关键字:运行 控制台 功能      更新时间:2023-09-26

有点难以解释,我不能 100% 确定这是否可以在控制台中实现,或者是否需要其他方法。

一步

一步地完成我想做的事情:

  • 步骤1 - 从锚点列表中单击锚点i(for循环)并转到新页面
  • 步骤2 - 单击第二页上的第一个锚点,然后转到第三页
  • 步骤3 - 单击按钮并返回第一页。
  • 步骤4 - 重复步骤1-3,这次i是第二个锚点,将您带到新页面。 依此类推,直到单击第 1 页上的所有锚点,并且每个锚点都执行步骤 2 和 3。

在我的脑海中,我可以一步一步地写这个,但我不确定我将如何以我想要的方式自动化这个过程。

这是我开始的代码:

// Step 1 - Page 1
var i = 0;
for (i = 0; i < $('a').length; i++) {
    $('a').eq(i).click();
}
// Step 2 - Page 2
$('a').eq(0).click();
// Step 3 - Page 3
$('button').click();
// Step 4 onward - Click next anchor in for loop and repeat step 2 and 3 until there are no anchors left on page 1 to click

任何帮助或指导都会很棒 - 我已经尝试过谷歌搜索,但我不完全确定我实际上在寻找什么!!

谢谢!

如果第 1

、2 或 3 页是完全不同的文档(即从第 1 页转到第 2 页需要浏览器执行完全重定向),我能想到的唯一方法是在 URL 查询参数中携带接下来要单击的锚点。 例如:

// page 1
<a id="anchor1" href="www.example.com/page2?nextAnchor=anchor2>Anchor 1</a>
<a id="anchor2" href="www.example.com/page2?nextAnchor=anchor3>Anchor 2</a>
<a id="anchor3" href="www.example.com/page2>Anchor 3</a>
如果在返回第 1 页

之前?nextAnchor=anchor2遍历页面,则可以在第 1 页的脚本中获取nextAnchor值,以便获得接下来必须单击的锚点的确切 ID。该过程将重复,直到您没有nextAnchor值(在最后一个定位点中发生)。

简单 - 虽然HTTP是无状态的,但你有Cookie,URI参数,套接字,如果你在iframe中打开你的页面,你甚至可以使用网络工作者,如果它们在同一个域上。

使用 URI 参数(即 http://domain.com/?use_loop_script&step=2&current_anchor=3&callback=click_link(x) ) 可能是最简单的方法,只要您可以访问所有页面的脚本。

然后,您只需在每个页面上插入一个函数并检查 URI 中是否存在use_loop_script并使用 URI 中设置的数字来执行您的函数click_link(i)或类似性质的东西。

您需要使用 URI 来跟踪您的步骤,以便执行相应的函数(单击锚点、单击按钮等)

iframe被视为单独的文档,只要它们位于同一域中,您的JavaScript就可以检查该文档是否已准备就绪,并根据需要单击主页中的任何链接。因此,如果您只是访问 iframe 的 DOM,您甚至根本不需要 URI 参数,甚至不需要在后续页面上加载任何脚本。