2

親愛なる友人私は自動クリック用のjavascriptブックマークレットを作成したいサイトを持っていますが、そのサイトはIDタグを使用していません。ここにサイトのコードがあります:-

<input type="submit" name="Submit" value="Find Product" 
onclick="return incrementClicksTest('2','true')" class="buttonSubmit">

このJavaScriptブックマークレットを使用しました

javascript:document.getElementById('any_id_here').click()

idで問題なく動作します。名前、値、タイプタグを使用してブックマークレットを作成するにはどうすればよいですか。

ありがとうdvance!!

4

1 に答える 1

2

以下を使用します。

document.getElementsByTagName("input")[0].click();

サンプルコード: http://jsfiddle.net/dcRsc/

これで、ボタンがページの最初の入力である場合に機能します。

ページに多数の要素がある場合は、これを使用します。

var elems =document.getElementsByTagName("input");

for(var i=0;i<elems.length;i++)
{
    if(elems[i].type=="submit" && elems[i].name =="Submit")
    {
        elems[i].click();        
        break;
    }
}

サンプルコード: http://jsfiddle.net/dcRsc/1/

clickこれにより、送信名で送信ボタンのイベントがトリガーされます。

getElementsByClassName()さらに (ボタンにはすでに css クラスがあるため)、次のメソッドを使用できます。

var elems =document.getElementsByClassName("buttonSubmit");

for(var i=0;i<elems.length;i++)
{
    if(elems[i].name =="Submit")
    {
        elems[i].click();        
        break;
    }
}

サンプルコード: http://jsfiddle.net/dcRsc/2/

buttonSubmitこれにより、クラスが適用されたすべての要素が取得されます。

または

document.getElementsByClassName("buttonSubmit")[0].click();

ボタンがそのクラスを持つページ内の唯一の要素である場合、forループを完全に回避します。

于 2013-03-22T22:36:18.890 に答える