Autohotkey 脚本-在特定的 Firefox 页面上发送击键?

Autohotkey 脚本-在特定的 Firefox 页面上发送击键?

我有一个脚本,当我在 Firefox 中打开特定页面时,它会发送 End 键击键,它会自动滚动到页面底部。问题是我无法再在该页面上向上滚动。如果我按下 Home 或 PgUp 键或用鼠标向上滚动,它会自动滚动回页面底部。

这是脚本。例如,我使用谷歌页面:

#Persistent
SetTimer, check , 500
return

check:
WinGetActiveTitle, OutputVar 
If Instr(Outputvar, "google")
    Send {End}
return

知道如何修复这个问题吗?

答案1

我不确定你是否已经找到了可行的答案堆栈溢出但如果您没有,
您真的应该看看 GreasyMonkey(就像 MCL 所说的那样)。

这些脚本并不难(甚至比 AutoHotkey 还简单,它只是 Javascript),而且确实更适合这项任务。以下脚本将在每一https://www.google.com页向下滚动(一次):

// ==UserScript==
// @name           Scroll google down
// @description    Scrolls down when loading a https://www.google.com page
// @version        1.0.0
// @include        https://www.google.com/*
// ==/UserScript==

window.addEventListener("load", function(e) {
  scroll(0, document.body.scrollHeight);
}, false);
  • -lineinclude说明此脚本将在哪些页面上运行。
    您可以为更多网站复制此行。

  • addEventListener("load"将添加一个onload事件(用于页面加载后)。

  • 实际scroll滚动到底部。

在我的测试中,脚本在 Firefox 中运行正常。在 Chrome (TamperMonkey) 中,它滚动到末尾(但“下一页”部分可见)。我认为这是因为 Google 在页面加载后进行了一些注入,导致document.body.scrollHeight页面高度略低于页面高度。

所以你看,它实际上只有一行 ;) 如果你研究一下 GreasyMonkey,你会发现你可以用它做很多其他很酷的事情。查找一些脚本用户脚本你会发现这些光源通常都非常小。

当然你也可以在这个网站上用标签
或者在 Stack Overflow 标签上greasemonkey
如果您遇到困难,您还可以在这里获得很多有关脚本的帮助。

答案2

它不会向上滚动或返回 Home,因为脚本一直告诉它返回到末尾。您必须取消此功能才能执行其他操作

相关内容