2016-10-27 216 views
0

我發現了其他幾個類似的問題,但他們都沒有解決我需要解決的確切問題。我試圖模擬鼠標點擊,以獲得滾動的整個結果(例如,從該站點:http://www.deadseascrolls.org.il/explore-the-archive/manuscript/4Q266-1)可見。我特別想在顯示圖像底部中心的「加載更多結果」項目上點擊(但是由於網站的源代碼,我認爲這會變得更加困難)。我想單擊它直到顯示所有結果。我寫了下面的AppleScript:點擊Applescript/JavaScript網頁上的按鈕

on iaaScroll(myScroll) 
tell application "Safari" 
    activate 
    open location "http://www.deadseascrolls.org.il/explore-the-archive/manuscript/" & myScroll & "-1" as string 
    delay 2.0 
    do JavaScript "var myDIV = document.getElementById('loadmore').getElementsByTagName('span')[0]; myDIV.dispatchEvent(new MouseEvent('mousedown')); myDIV.dispatchEvent(new MouseEvent('mouseup'));" in document 1 
end tell 

末iaaScroll

我不能,不過,順利拿到的JavaScript加載頁面上所有的結果。我將如何成功地做到這一點?我不知道JavaScript,所以你的幫助非常感謝。

回答

0

這個腳本將啓動該網站,點擊「加載更多結果」一週時間..

tell application "Safari" 
    activate 
    set URL of document 1 to "http://www.deadseascrolls.org.il/explore-the-archive/manuscript/4Q266-1" 
    delay 3 
    do JavaScript "document.getElementById('loadmore').click();" in document 1 
end tell 

一旦該網頁是open..This本身腳本點擊「加載更多結果」一次。每一次運行該腳本

tell application "Safari" 
    activate 
    do JavaScript "document.getElementById('loadmore').click();" in document 1 
end tell 

或..既然你談論的是一個特定的網頁加載,最終的圖像416 ..我在劇本中加入重複的語句,最終將加載該網站與所有顯示的圖像。 。您可能需要調整延遲值,但是在設置時現在,腳本可以在我的機器上完美運行

tell application "Safari" 
    activate 
    set URL of document 1 to "http://www.deadseascrolls.org.il/explore-the-archive/manuscript/4Q266-1" 
    delay 4 -- you may need to adjust your delay time to account for your browser speed 
    repeat 34 times -- adjust this number if there are more than 416 results 
     do JavaScript "document.getElementById('loadmore').click();" in document 1 
     delay 0.55 -- you may need to adjust your delay time to account for your browser speed 
    end repeat 
end tell 
+0

謝謝。我寫了一個額外的JavaScript語句來獲得innerHTML,並重復while user1628415