AppleScriptがJavaScriptを実行してボタンをクリックし、Safariでテキストを入力する


1

SafariでJavaScriptを実行することはもうできません。

このChrome用の作業スクリプトがあります。

set caseID to "11111"
end tell


####################################### time #########
set myDate to date string of (current date)


set myTime to time string of (current date)

set myDateTime to myDate & " - " & myTime


set textToSave to "MY TEXT HERE
HERE
HERE
" & myDateTime

tell application "Google Chrome"
    delay 0.1
    execute front window's active tab javascript "document.getElementsByName('9.9.5.4.5.CSInfoInspector.1.1.1')[0].click();"
    delay 0.1
    execute front window's active tab javascript "document.getElementsByName('05.5.54.5.CSInfoInspector.1.1.5.41.3.7.57.1')[0].value=" & quoted form of textToSave 
    delay 0.1
    execute front window's active tab javascript "document.getElementsByName('5.5.4.5.5.CSInspector.5.1.7')[0].value=" & quoted form of caseID

end tell

ここでSafariに変換しました。

set caseID to "11111"

####################################### time #########
set myDate to date string of (current date)


set myTime to time string of (current date)

set myDateTime to myDate & " - " & myTime


set textToSave to "MY TEXT HERE
HERE
HERE
" & myDateTime

tell application "Safari"
    delay 0.1
    do JavaScript "document.getElementsByName('9.9.5.4.5.CSInfoInspector.1.1.1')[0].click();" in current tab of window 1
    delay 0.1

    do JavaScript "document.getElementsByName('05.5.54.5.CSInfoInspector.1.1.5.41.3.7.57.1')[0].value=" & quoted form of textToSave in current tab of window 1

    do JavaScript "document.getElementsByName('5.5.4.5.5.CSInspector.5.1.7')[0].value=" & quoted form of caseID in current tab of window 1

end tell

結果はAppleScriptで返されますが、Safariは実際にはアクションを実行しません結果: "11111"

基本的に、スクリプトはボタンをクリックしてポップウィンドウを表示し、テキストを埋めることを想定しています。

私のシステム:
OS X 10.13.2(17C202)
Safariバージョン11.0.2(13604.4.7.1.5)

回答:


1

したがって、異なるJSコードで数行を追加するだけのChromeとは異なり、safariではJavaScriptごとに追加し、ドキュメント/タブに言及する必要があります

例:

tell application "Safari"
    delay 0.1
    do JavaScript "document.getElementById('accountEnabledSelection').value=1" in current tab of window 1
    do JavaScript "document.getElementsByName('demo')[0].click();" in current tab of window 1


end tell
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.