AppleScriptのボタンをクリック


1

AppleScript(Google chrome)を使って「詳細」ボタンをクリックすることは可能ですか

= "7cd6f428-1are-41f2-9054-c452d7fe242-view-selector-e5f5de50-634a-45bc-bf30-98e2a64676cc">について

私は通常クリックにこれを使うでしょう

 "document.getElementsByName('clasenamehere')[0].click();"

しかし、このような状況ではどうすればよいかわかりません。

update:コードがaskdifferentテキストエディタに隠されていることに気付かなかったので、返信を更新しました

私が普段使っているもの

tell application "Google Chrome"
    tell tab 4 of window 1 to set myClickingbutton to execute javascript "document.getElementById('Clasenamehere').click();
"
end tell

スクリプト全体のサンプルを教えてください。
drivec

フロントウィンドウのタブを実行1 javascript "document.getElementsByName( 'namehere')[0] .click();"
Kevin

ボタンを操作しようとしているページのURLは何ですか。また、どのボタンですか。
user3439894

回答:


1

そのため、クラス名をセレクタとして使用してHTML要素をクリックするためのJavaScriptメソッドはすでに知っています。

document.getElementsByClassName('classnamehere')[0].click();

どこで [0] 要素の配列の最初の項目を表します。すべての要素が同じクラス名を共有します。多くの場合、要素の要素を試して使用する方が賢明です(少なくとも私の考えでは) idこれは、要素を選択するための一意の属性を提供します。

document.getElementById('idnamehere').click();

このコードをから実行するには グーグルクローム AppleScriptでは、一般的な形式は次のようになります。

    set js to "document.getElementsByClassName('classnamehere')[0].click();"

    tell application "Google Chrome" to tell ¬
        the front window to tell ¬
        the active tab to ¬
        set jsResult to execute javascript js

についての重要な機能 execute javascript それは特定のものに向けられなければならないということです。 tab グーグルクローム 。にコマンドを送信することはできません window または application オブジェクトそう:

    tell application "Google Chrome" to ¬
        execute javascript js

エラーをスローします js

構文は次の形式も取ります。

    tell application "Google Chrome" to tell front window to ¬
        set jsResult to execute of tab 1 javascript js

またはこのフォーム:

    tell application "Google Chrome" to tell front window to ¬
        (execute javascript js) in front tab

これらの各コマンドでは、 javascript 実行するように指示されている tab

まだ何も指定していません 「詳細」 を参照し、あなたがそうするとき、私はそれに応じてこの答えを更新することができます。それがどちらかであるという仮定に取り組む class 名前または id HTML要素の場合は、一番上にある式の1つを使用して、それを私が与えたコード例に直接プラグインできます。それで、あなたはJavaScriptメソッドを使うかもしれません getElementsByClassNameこれは次の形式を取ります。

document.getElementsByClassName('detailed')[0].click();

どこで [0] に変更される可能性があります [1][2]他にいくつの要素がこのクラス名を持っているかによって異なります。それから私がすることは私のAppleScript変数を定義することです js 私のためにJavaScriptコマンドを保持するために:

    set js to "document.getElementsByClassName('detailed')[0].click();"

それから教えて active tab クロム 実行するには:

    tell application "Google Chrome"
        tell active tab of window 1 to ¬
            execute javascript js
    end tell

execute たとえそれが単なる空の文字列であっても、commandは常に値を返します。したがって、必要に応じて、その値をAppleScriptの変数に代入して、後でスクリプトで使用することができます。

    set jsResult to the result

もっと直接的には:

    set jsResult to execute javascript js

ボタンの名前が隠されていることに気づかなかったので私は私の質問を更新しました。私のいつもクリックスニップされた仕事、あなたはずっときれいで適切なようです
Kevin

ありがとう。あなたがURLを共有しても構わないと思っているなら、私はそれをする方法があるかどうかを見てみることができるでしょう。
CJK
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.