click en botón
Publicado: 02 Oct 2011, 15:15
Hola a todos, este es el primer post sobre AutoIt que hago en este foro...y espero que no se os haga pesao..pero es sobre...click en un botón!
Antes de nada deciros que me he leído todos los post con "onclick", "send javascript" etc.. y en webs "normales" no he tenido problemas, pero esta que es dhtml, no encuentro la forma. Lo peor es que no puedo poner el enlace porque se entra con contraseña y es cosa del trabajo...
Por lo que llevo aprendido con Send("javasr...."&ENTER) si que consigo que me haga click, pero sólo en una parte de la web, como ahora os explicaré, y además depende de dónde previamente haya yo pulsado antes,
Yo creo que la web tiene varios frames, y según debugbar el marco principal de la web tiene este código:
<FRAMESET id=mainFrameset frameSpacing=3 name=mainFrameset borderColor=#f5f8fa cols=190,* frameBorder=1 onload=OnUuconf();>
<FRAME src="/html/blank.html" frameBorder=0 name=AbxMenu marginWidth=0 scrolling=no>
<FRAMESET frameSpacing=3 borderColor=#f5f8fa frameBorder=1 onload=OnUuconf(); rows=64,*,22,0,0>
<FRAME marginHeight=0 src="/html/blank.html" frameBorder=0 name=AbxToolBar marginWidth=0 scrolling=no>
<FRAME onreadystatechange=evento=event; marginHeight=0 src="/cgi-bin/abnetcl/X9092/ID6a42594b/NT1?ACC=105&TB=3001" frameBorder=0 name=AbxMain marginWidth=0>
<FRAME marginHeight=0 src="/html/blank.html" frameBorder=0 name=AbxWin marginWidth=0 scrolling=no>
<FRAME marginHeight=0 src="" frameBorder=0 name=AbxNo marginWidth=0 scrolling=no>
<FRAME marginHeight=0 src="/html/blanksign.html" frameBorder=0 name=AbxSigned marginWidth=0 scrolling=no>
</FRAMESET>
</FRAMESET>
En uno de estos frames, tengo tres botones y cada uno despliega un menu con más botones...Bueno pues uno de ellos según debugbar tiene esto dentro:
<A onkeydown=keyMenuMain(32,this); title=Catálogo ondblclick="CallMenu('56','1')" onclick="ExpColl2('C')" href="JavaScript:void(null);">Catálogo</A>
Intento usar esto:
Send("javascript:ExpColl2('C')"&"{ENTER}")
Y funciona, pero sólo si antes lo pulso yo, con lo que se despliega el menú(con otros tres botoncitos), lo vuelvo a pulsar, se repliega el menú y llamo al programa. Lo mismo pasa con los demás, por ejemplo debajo de el anterior hay otro:
<A onkeydown=keyMenuMain(32,this); title=Circulación ondblclick="CallMenu('38','1')" onclick="ExpColl2('P')" href="JavaScript:void(null);">Circulación</A>
Y si uso esto (después de haber visto con alegría como me pulsa el otro):
Send("javascript:ExpColl2('p')"&"{ENTER}")
Me pulsa....el mismo botón de antes! Para que se pulse el que yo quiero, igualmente, tengo que pulsar el botón, volverlo a pulsar, y entonces arrancar el programa, para que se pulse.
Os dejo más código fuente de esa parte de la web. Aquí es donde yo creo se crea el menú de tres botones etc..:
<DIV style="WIDTH: 167px; WHITE-SPACE: nowrap; HEIGHT: 566px; OVERFLOW: auto" id=idDiv><TABLE cellSpacing=1 cellPadding=0 width="100%">
<SCRIPT>
fdi(1,1,"C","Boton1","56",1);
ftd(10,56,"Subbotón de 1");
ftd(10,1021,"Otro Subbotón de 1");
ftd(10,1022,"Y otro Subbotón de 1");
......(más botones)
</SCRIPT>
<TBODY>
<TR>
<TD class=clsLink1 onmouseover=overM(this,1); onmouseout=outM(this,1);>
<IMG style="WIDTH: 1px; HEIGHT: 10px" src="/absysnet/imag/vacia1.gif">
<IMG id=C onclick=ExpColl(this) src="/imag/mas.gif"> <A onkeydown=keyMenuMain(32,this); title=Boton1 ondblclick="CallMenu('56','1')" onclick="ExpColl2('C')" href="JavaScript:void(null);">Boton1</A>
....más botones
Tampoco entiendo porque no puedo sacar la fuente de los frames. Me dice que hay 6, pero salca 0 en el MSgbox de Info:
$oFrame = _IEFrameGetCollection ($o_IE)
$iNumFrames = @extended
MsgBox(0,"número frames",$iNumFrames)
For $i = 0 to ($iNumFrames - 1)
$oFrame = _IEFrameGetCollection ($o_IE, $i)
;_IENavigate($oFrame,"javascript:handMNL:ShowMsg()"&"{ENTER}") ;también intento esto pero nada.
MsgBox(0, "Fuente de frame es:", _IEDocReadHTML ($oFrame))
Next
Buf...Tengo más partes de la web que no entiendo..pero para empezar si hay sugerencias con esto se las agradezco.
Antes de nada deciros que me he leído todos los post con "onclick", "send javascript" etc.. y en webs "normales" no he tenido problemas, pero esta que es dhtml, no encuentro la forma. Lo peor es que no puedo poner el enlace porque se entra con contraseña y es cosa del trabajo...
Por lo que llevo aprendido con Send("javasr...."&ENTER) si que consigo que me haga click, pero sólo en una parte de la web, como ahora os explicaré, y además depende de dónde previamente haya yo pulsado antes,
Yo creo que la web tiene varios frames, y según debugbar el marco principal de la web tiene este código:
<FRAMESET id=mainFrameset frameSpacing=3 name=mainFrameset borderColor=#f5f8fa cols=190,* frameBorder=1 onload=OnUuconf();>
<FRAME src="/html/blank.html" frameBorder=0 name=AbxMenu marginWidth=0 scrolling=no>
<FRAMESET frameSpacing=3 borderColor=#f5f8fa frameBorder=1 onload=OnUuconf(); rows=64,*,22,0,0>
<FRAME marginHeight=0 src="/html/blank.html" frameBorder=0 name=AbxToolBar marginWidth=0 scrolling=no>
<FRAME onreadystatechange=evento=event; marginHeight=0 src="/cgi-bin/abnetcl/X9092/ID6a42594b/NT1?ACC=105&TB=3001" frameBorder=0 name=AbxMain marginWidth=0>
<FRAME marginHeight=0 src="/html/blank.html" frameBorder=0 name=AbxWin marginWidth=0 scrolling=no>
<FRAME marginHeight=0 src="" frameBorder=0 name=AbxNo marginWidth=0 scrolling=no>
<FRAME marginHeight=0 src="/html/blanksign.html" frameBorder=0 name=AbxSigned marginWidth=0 scrolling=no>
</FRAMESET>
</FRAMESET>
En uno de estos frames, tengo tres botones y cada uno despliega un menu con más botones...Bueno pues uno de ellos según debugbar tiene esto dentro:
<A onkeydown=keyMenuMain(32,this); title=Catálogo ondblclick="CallMenu('56','1')" onclick="ExpColl2('C')" href="JavaScript:void(null);">Catálogo</A>
Intento usar esto:
Send("javascript:ExpColl2('C')"&"{ENTER}")
Y funciona, pero sólo si antes lo pulso yo, con lo que se despliega el menú(con otros tres botoncitos), lo vuelvo a pulsar, se repliega el menú y llamo al programa. Lo mismo pasa con los demás, por ejemplo debajo de el anterior hay otro:
<A onkeydown=keyMenuMain(32,this); title=Circulación ondblclick="CallMenu('38','1')" onclick="ExpColl2('P')" href="JavaScript:void(null);">Circulación</A>
Y si uso esto (después de haber visto con alegría como me pulsa el otro):
Send("javascript:ExpColl2('p')"&"{ENTER}")
Me pulsa....el mismo botón de antes! Para que se pulse el que yo quiero, igualmente, tengo que pulsar el botón, volverlo a pulsar, y entonces arrancar el programa, para que se pulse.
Os dejo más código fuente de esa parte de la web. Aquí es donde yo creo se crea el menú de tres botones etc..:
<DIV style="WIDTH: 167px; WHITE-SPACE: nowrap; HEIGHT: 566px; OVERFLOW: auto" id=idDiv><TABLE cellSpacing=1 cellPadding=0 width="100%">
<SCRIPT>
fdi(1,1,"C","Boton1","56",1);
ftd(10,56,"Subbotón de 1");
ftd(10,1021,"Otro Subbotón de 1");
ftd(10,1022,"Y otro Subbotón de 1");
......(más botones)
</SCRIPT>
- asdfaf
<TBODY>
<TR>
<TD class=clsLink1 onmouseover=overM(this,1); onmouseout=outM(this,1);>
<IMG style="WIDTH: 1px; HEIGHT: 10px" src="/absysnet/imag/vacia1.gif">
<IMG id=C onclick=ExpColl(this) src="/imag/mas.gif"> <A onkeydown=keyMenuMain(32,this); title=Boton1 ondblclick="CallMenu('56','1')" onclick="ExpColl2('C')" href="JavaScript:void(null);">Boton1</A>
....más botones
Tampoco entiendo porque no puedo sacar la fuente de los frames. Me dice que hay 6, pero salca 0 en el MSgbox de Info:
$oFrame = _IEFrameGetCollection ($o_IE)
$iNumFrames = @extended
MsgBox(0,"número frames",$iNumFrames)
For $i = 0 to ($iNumFrames - 1)
$oFrame = _IEFrameGetCollection ($o_IE, $i)
;_IENavigate($oFrame,"javascript:handMNL:ShowMsg()"&"{ENTER}") ;también intento esto pero nada.
MsgBox(0, "Fuente de frame es:", _IEDocReadHTML ($oFrame))
Next
Buf...Tengo más partes de la web que no entiendo..pero para empezar si hay sugerencias con esto se las agradezco.