2013-12-16 40 views
0

我有一個腳本發送結束鍵擊鍵,當我打開Firefox中的特定頁面時,它自動滾動到頁面的底部。問題是我無法再在該頁面上向上滾動。如果我按Home或PgUp鍵或用鼠標向上滾動,它會自動滾動回頁面底部。使用autohotkey腳本在特定的Firefox頁面上發送按鍵?

這是腳本。作爲例子,我正在使用谷歌頁面:

#Persistent 
SetTimer, check , 500 
return 

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

任何想法如何解決這個問題?

回答

0

剛開始時:AHK不應該這樣做!最大的問題是AHK無法知道您的頁面何時完成加載。取決於您的互聯網連接,當然還有服務器的響應時間,這可能會並且會波動不可預測。如果過早滾動到底部,頁面可能會加載一圈資源,最終會在中間甚至頂部的某處出現。相反,如果您在向下滾動之前等待大量時間,則在許多情況下最終會旋轉拇指。
要使瀏覽器/網頁自動化,還有更好的方法,例如在GreaseMonkey中使用腳本。 如果你非常希望儘可能使用AHK,請查看以下代碼:

SetTimer, ScrollDown, -1 

Exit 

ScrollDown: 
    Loop { 
     WinWaitActive, Google ahk_class MozillaWindowClass 
     ; How long shall we wait? Not waiting will definitely fail, 
     ; since the <title> tag is loaded way before anything else on the page 
     Sleep, 2000 
     Send {End} 
     WinWaitNotActive 
    } 
return 
+0

我試過這個腳本,但不幸的是它不工作。我認爲在腳本的開頭應該有'#Persistent',否則它不會運行。 我知道這也可以用Greasemonkey腳本完成,但我無法編寫我自己的腳本。這就是爲什麼我試圖用autohotkey做到這一點,它看起來更簡單。 – user1800997

+0

@ user1800997當然,如果腳本中沒有其他東西,它必須是持久的。在我看來,包含這些類型的指令是沒有意義的,因爲代碼通常會被集成到一個更大的,已經存在的腳本中。既然你已經發現你必須使用'#Persistent',爲什麼不先測試它呢? JavaScript很容易學習,並有大量的教程,我敢打賭,已經有工作的用戶腳本可以做你想做的。 – MCL

+0

當我測試腳本時,我包含了'#Persistent'。我想我試圖實現不能用autohotkey腳本完成。 – user1800997

相關問題