私はリンスクリプトを作成したいと思います。Applescript - HTMLが特定のテキストを含むまでWebページをリロードする
HTMLに特定のキーワードが表示されるまで、Chrome(またはSafari)で現在のウェブページを自動的にリロードする必要があります。このキーワードが見つかったら、再読み込みを停止します。
ウェブページに広告があるゾーンがあります。私はいくつかの特定の広告を見ることができる限り、ページをリロードする必要があります。これは、キーワードadPraha
がHTMLにあることを意味します。
お願いします。
set keyword to "adPraha"
tell application "Safari"
-- get the current window
set myWindow to (get current tab of window 1)
repeat
do JavaScript "window.location.reload()" in myWindow
-- wait for the page to load
repeat until ((do JavaScript "document.readyState;" in myWindow) is equal to "complete")
delay 0.5
end repeat
set pageContent to text of myWindow
if pageContent contains keyword then
else
end if
delay 2 -- wait a bit before running again
end repeat
end tell
このスクリプトで実際に何が問題になっていますか?それは私にとってうまくいくようです。 'if/else'と' else/end if'の間に表示ダイアログを追加し、 'pageContent'が' keyword'を含んでいたときにスクリプトを正常に検出しました。あなたは 'exit repeat'コマンドを探していますか? 'else/endif'の間に置くか、' 'キーワードを含む ''を' 'キーワードを含んでいない ''に置き換え、キーワードの紛失時に繰り返しを終了します。 –