自动单击带类型或值标签

时间:2013-03-22 22:31:13

标签: javascript bookmarklet

亲爱的朋友,我有网站,我想为autoclick创建javascript bookmarklet,但该网站不使用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,我如何使用名称,值和类型标记制作bookmarklet

感谢dvance !!

1 个答案:

答案 0 :(得分: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事件,并提交名称。

此外(由于您的按钮已经有一个css类),您可以使用getElementsByClassName()方法:

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循环。