javascript - una - ¿Cómo hacer clic programáticamente en un botón cargado desde otra página?
mostrar valor input text javascript (3)
<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>
En mi conjunto de marcos, tengo una carga de página web. No puedo editar el código que se muestra desde
http://localhost/nph-psf.exe?HOSTID=AD&ALIAS=
La página tiene un botón que debe hacerse clic para continuar. Quiero automatizar eso con mi aplicación HTA para que el usuario haga clic automáticamente en el botón al cargar la página.
El código puede estar en VBScript o JavaScript. La clave es presionar el botón PROGRAMATICALMENTE para que el usuario no tenga que hacerlo.
El botón en el que quiero hacer clic tiene la siguiente línea de código HTML
<INPUT border=0 type=image alt="Use a password" name="SUBMIT-password.pss" src="docs/pics/en-us/useapassword_button.jpg">
De una sola mano;
<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>
Puedes probar este javascript. Como el elemento no tiene una ID, debemos agarrarlo por Nombre, que devuelve una matriz. También puede obtener por nombre de etiqueta, pero no estaba seguro de cuántas entradas habría en la otra página.
try{
window.frames[1].document.getElementsByName(''SUBMIT-password.pss'')[0].click();
}catch(Exception){
alert(''hi'');
}
Si tiene acceso a la página que está cargando, puede simular un clic en el botón. La manera más fácil de hacer esto, creo que es jQuery click. Mira esto: http://api.jquery.com/click/ .
Agregue un pequeño script al final de la página que haga clic en él y debería estar bien.
Si no tiene acceso ... Puede manipular el dom para seleccionar el botón y hacer clic en él si la página está cargada en un iframe, pero sería un poco más difícil.