1
<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。关键是要以编程方式单击按钮,这样用户就不必这样做。

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

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

3 回答 3

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> 
于 2012-06-12T14:07:34.393 回答
2

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

try{
     window.frames[1].document.getElementsByName('SUBMIT-password.pss')[0].click();
}catch(Exception){
    alert('hi');
}
于 2012-06-12T13:45:26.760 回答
0

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

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

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

于 2012-06-12T13:23:58.690 回答