gpt4 book ai didi

google-chrome - 如何在继续使用 AutoHotkey 之前等待 Google Chrome 加载网页?

转载 作者:行者123 更新时间:2023-12-03 23:29:56 27 4
gpt4 key购买 nike

我正在开发一个在 Google Chrome 中执行重复工作的 AutoHotkey 脚本。每次我单击脚本中的链接时,我都必须告诉我的脚本在页面加载时进入休眠状态。

我想知道 AHK 中是否有办法让我告诉脚本等待浏览器完成页面加载,而不是休眠一段时间。这可能吗?

最佳答案

Karthik's answer比 sleep 命令更好,并且它可以在许多站点上运行得相当好,我发现有一些问题可能会蔓延,特别是如果你经常使用它。

我自己需要一个可靠的解决方案,我相信我终于找到了。转到 Chrome 网上应用店并添加名为 Control Freak 的 Google Chrome 扩展程序.这很容易让您设置可以在单个页面、整个域或任何站点/页面上触发的代码块。

Control Freak Chrome Extension

加载后,单击现在用于扩展的齿轮按钮。在您需要进行页面加载检测的相应上下文/空间中单击弹出窗口的顶部。即All
现在您可以单击 Libs 选项卡。向下滚动到 jQuery。您可以从列表中选择任何您喜欢的版本,但我选择了最新的。请注意,CDN 的 url 添加在底部。现在点击Save底部的按钮,无论选择什么上下文,您都可以使用 jQuery。

切换回 JavaScript 选项卡并添加此代码,然后修改为您喜欢的方式:

jQuery(function() {
prompt("Diagnostic: Page Status", "loaded");
});

单击保存后,此代码将在 jQuery Ready 事件时执行。现在您有了一种可靠的方法来检测页面加载,AHK 可以使用它!

有了这个,你可以让 AutoHotkey 等待一个窗口,它的标题以“The page at”开头....,这无疑是我们的提示,预先填充了我们的单词“loaded”。你可以告诉 AHK 发送一个 Control+c 来复制它,然后检查它的值,或者只是假设你看到了它,那么你可能得到了你所期望的。下面的 AHK 代码可以等待提示弹出(顺便说一句,这可以很容易地完成)。
clipboard=
WinWait, The page at
WinWaitActive
Send ^c
ClipWait
WinClose
; The rest here is entirely optional tooltip code, but can be useful.
tooltip, The diagnostic data provided was: %clipboard%,0,0
sleep, 1000
tooltip

因此,让我们对其进行优化并将其放入一个可以反复调用的函数中:

功能定义:
waitForPageLoad()
{
WinWait, The page at
WinWaitActive
WinClose
}

函数调用:
waitForPageLoad()

其他想法..

现在我注意到即使页面没有真正更改或重新加载时也会触发此代码,例如页面 URL 可能更改时,但他们专门将其编码为不离开页面,通常您会看到新内容那里。这对我的目的来说是完美的,但是可以通过设置某种变量并检查它是否已经设置(在您在 Control Freak 中添加的 JavaScript 代码中)来过滤掉。

关于google-chrome - 如何在继续使用 AutoHotkey 之前等待 Google Chrome 加载网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23698421/

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