如何以编程方式单击从另一个页面加载的按钮?

时间:2012-06-12 12:58:07

标签: javascript html vba vbscript hta

<html>
<head>
<title>My HTML application</title>
<HTA:APPLICATION 
    id="frames" 
    border="thin" 
    caption="yes" 
    icon="http://www.google.com/favicon.ico" 
    showintaskbar="yes" 
    singleinstance="yes" 
    sysmenu="yes" 
    navigable="yes" 
    contextmenu="no" 
    innerborder="no" 
    scroll="auto" 
    scrollflat="yes" 
    selection="yes" 
    windowstate="normal" />

    </head> 
    <frameset rows="60px, *"> 
        <frame src="topo.htm" name="topo" id="topo" application="yes" /> 
        <frame src="http://localhost/nph-psf.exe?HOSTID=AD&ALIAS=" name="conteudo" id="psyncLink" application="yes" /> 
    </frameset> 
</html> 

在我的框架集中,我有一个网页加载。我无法编辑从

显示的代码
http://localhost/nph-psf.exe?HOSTID=AD&ALIAS=

该页面有一个按钮,需要单击才能继续。我希望使用我的HTA应用程序自动执行该操作,以便在页面加载时自动为用户单击该按钮。

代码可以是VBScript或JavaScript。关键是要按PROGRAMATICALLY点击按钮,这样用户就不必。

我要点击的按钮具有以下HTML代码行

<INPUT border=0 type=image alt="Use a password" name="SUBMIT-password.pss" src="docs/pics/en-us/useapassword_button.jpg">

3 个答案:

答案 0 :(得分:2)

你可以试试这个javascript。由于元素没有ID,我们必须通过Name来获取它,它返回一个数组。您也可以通过标记名获取,但我不确定在另一页上会有多少输入。

try{
     window.frames[1].document.getElementsByName('SUBMIT-password.pss')[0].click();
}catch(Exception){
    alert('hi');
}

答案 1 :(得分:2)

单向;

<script type="text/javascript">
function doClick(fr) {
    var btn = fr.contentWindow.document.getElementsByName("SUBMIT-password.pss");
    if (btn.length === 0) {
        alert("no button!");
        return;
    } else {
        btn[0].click();
    }
}
</script>
<frameset rows="60px, *"> 
    <frame src="topo.htm" name="topo" id="topo" application="yes" /> 
    <frame src="http://localhost/nph-psf.exe?HOSTID=AD&ALIAS=" name="conteudo" id="psyncLink" application="yes" onload="doClick(this);"/> 
    </frameset> 
</html> 

答案 2 :(得分:0)

如果您有权访问正在加载的页面,则可以模拟按钮上的单击。我认为最简单的方法是点击jQuery。检查一下:http://api.jquery.com/click/

在页面末尾添加一个点击它的小脚本,应该没问题。

如果您没有访问权限...您仍然可以操作dom来选择按钮并在页面加载到iframe时单击它,但会更难。