Página 1 de 1

Ayuda con _IEFormGetObjByName

Publicado: 01 Jun 2009, 03:02
por Mithrandir
Buenas, mi problema es el siguiente: Quiero ingresar un usuario y contraseña en un sitio, tomé como ejemplo este que tiene una zona de pruebas en http://forums.linkbucks.com/newthread.p ... hread&f=12 y me fijé en el ejemplo _IEFormElementSetValue que está en C:\Archivos de programa\AutoIt3\Examples\Helpfile

El problema es que en este ejemplo (el _IEFormGetObjByName que también está en C:\Archivos de programa\AutoIt3\Examples\Helpfile )

Código: Seleccionar todo

; *******************************************************

; Example 1 - Get a reference to a specific form by name.  In this case, submit a query

;               to the Google search engine.  Note that the names of the form and form

;               elements can be found by viewing the page HTML source

; *******************************************************

;

#include <IE.au3>

$oIE = _IECreate ("http://www.google.com")

$oForm = _IEFormGetObjByName ($oIE, "f")

$oQuery = _IEFormElementGetObjByName ($oForm, "q")

_IEFormElementSetValue ($oQuery, "AutoIt IE.au3")

_IEFormSubmit ($oForm)

 


dice que el nombre del formulario y de los elementos de él pueden ser hallados en el código fuente y de hecho fui al código fuente de google.com.uy y encontré que el nombre del formulario para buscar era "f" y luego la "q" acá les dejo el código fuente de google.com

Código: Seleccionar todo

<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Google</title><script>window.google={kEI:"niUjSqjgMcLflQeCsfnSAg",kEXPI:"17259,19363,20572,20665",kHL:"es"};

window.google.sn="webhp";window.google.timers={load:{t:{start:(new Date).getTime()}}};try{window.google.pt=window.gtbExternal&&window.gtbExternal.pageT()||window.external&&window.external.pageT}catch(b){}

window.google.jsrt_kill=1;

var _gjwl=location;function _gjuc(){var b=_gjwl.href.indexOf("#");if(b>=0){var a=_gjwl.href.substring(b+1);if(/(^|&)q=/.test(a)&&a.indexOf("#")==-1&&!/(^|&)cad=h($|&)/.test(a)){_gjwl.replace("/search?"+a.replace(/(^|&)fp=[^&]*/g,"")+"&cad=h");return 1}}return 0}function _gjp(){!(window._gjwl.hash&&window._gjuc())&&setTimeout(_gjp,500)};

window._gjp && _gjp();</script><style>body,td,a,p,.h{font-family:arial,sans-serif}.h{color:#36c;font-size:20px}.q{color:#00c}.ts td{padding:0}.ts{border-collapse:collapse}#gbar{height:22px;padding-left:0px}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}#gbi,#gbs{background:#fff;left:0;position:absolute;top:24px;visibility:hidden;z-index:1000}#gbi{border:1px solid;border-color:#c9d7f1 #36c #36c #a2bae7;z-index:1001}#guser{padding-bottom:7px !important;text-align:right}#gbar,#guser{font-size:13px;padding-top:1px !important}@media all{.gb1,.gb3{height:22px;margin-right:.5em;vertical-align:top}#gbar{float:left}}.gb2{display:block;padding:.2em .5em}a.gb1,a.gb2,a.gb3{color:#00c !important}.gb2,.gb3{text-decoration:none}a.gb2:hover{background:#36c;color:#fff !important}</style><script>google.y={};google.x=function(e,g){google.y[e.id]=[e,g];return false};window.clk=function(b,c,d,e,f,g,h){if(document.images){var a=encodeURIComponent||escape;(new Image).src=["/url?sa=T",c?"&oi="+a(c):"",d?"&cad="+a(d):"","&ct=",a(e||"res"),"&cd=",a(f),b?"&url="+a(b.replace(/#.*/,"")).replace(/\+/g,"%2B"):"","&ei=","niUjSqjgMcLflQeCsfnSAg",g].join("")}return true};

window.gbar={qs:function(){},tg:function(e){var o={id:'gbar'};for(i in e)o[i]=e[i];google.x(o,function(){gbar.tg(o)})}};</script></head><body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b alink=#ff0000 onload="document.f.q.focus();if(document.images)new Image().src='/images/nav_logo4.png'" topmargin=3 marginheight=3><textarea id=csi style=display:none></textarea><div id=gbar><nobr><b class=gb1>La Web</b> <a href="http://images.google.com.uy/imghp?hl=es&tab=wi" onclick=gbar.qs(this) class=gb1>Imágenes</a> <a href="http://groups.google.com.uy/grphp?hl=es&tab=wg" onclick=gbar.qs(this) class=gb1>Grupos</a> <a href="http://books.google.com.uy/bkshp?hl=es&tab=wp" onclick=gbar.qs(this) class=gb1>Libros</a> <a href="http://blogsearch.google.com.uy/?hl=es&tab=wb" onclick=gbar.qs(this) class=gb1>Blogs</a> <a href="http://translate.google.com.uy/?hl=es&tab=wT" onclick=gbar.qs(this) class=gb1>Traductor</a> <a href="http://mail.google.com/mail/?hl=es&tab=wm" class=gb1>Gmail</a> <a href="http://www.google.com.uy/intl/es/options/" onclick="this.blur();gbar.tg(event);return !1" aria-haspopup=true class=gb3><u>Más</u> <small>▼</small></a><div id=gbi><a href="http://www.google.com/calendar/render?hl=es&tab=wc" class=gb2>Calendar</a> <a href="http://docs.google.com/?hl=es&tab=wo" class=gb2>Docs</a> <a href="http://www.google.com.uy/reader/view/?hl=es&tab=wy" class=gb2>Reader</a> <a href="http://sites.google.com/?hl=es&tab=w3" class=gb2>Sites</a> <div class=gb2><div class=gbd></div></div><a href="http://www.google.com.uy/intl/es/options/" class=gb2>todavía más »</a> </div></nobr></div><div class=gbh style=left:0></div><div class=gbh style=right:0></div><div align=right id=guser style="font-size:84%;padding:0 0 4px" width=100%><nobr><a href="/url?sa=p&pref=ig&pval=3&q=http://www.google.com.uy/ig%3Fhl%3Des%26source%3Diglk&usg=AFQjCNFteMNbJ_yCDhZDZmzNHbr0KFbHAQ">iGoogle</a> | <a href="https://www.google.com/accounts/Login?continue=http://www.google.com.uy/&hl=es">Acceder</a></nobr></div><center><style>.pmoabs{position:absolute;right:0;top:24;}.pmoflt{float:right}#pmocntr{behavior:url(#default#userdata)}#pmocntr table{font-size:80%}#pmolnk,#pmolnk div{background:url(/images/modules/buttons/g-button-chocobo-basic-1.gif)}#pmolnk{width:170px}#pmolnk div{background-position:100% -400}#pmolnk div div{background-position:0 100%}#pmolnk a{white-space:nowrap;background:url(/images/modules/buttons/g-button-chocobo-basic-2.gif) 100% 100% no-repeat;color:#fff;display:block;padding:5px 15px 12px 10px;text-decoration:none}</style><div id=pmocntr class=pmoabs style="width:260px"><table><tr><td colspan=2><img border=0 src="/images/close_sm.gif" style="float:right" onclick="cpc()"><tr><td rowspan=2><img src="/images/chrome_48.gif"><td align=center><b>Una forma más rápida de navegar la web.</b><tr><td align=center><div id=pmolnk><div><div><a href="/aclk?sa=L&ai=CMVb9oCAjSovWFMOZlQf97J0P27fWgAHXr9v8C-_7_eUnEAEgwVRQ-rSB3vz_____AWDbBqoECU_QDY1N08Tquw&num=1&sig=AGiWqtx2KCODwWz9OPMUlHgki7dOq_YMfw&q=http://www.google.com/chrome/index.html%3Fhl%3Des%26brand%3DCHNG%26utm_source%3Des-hpp%26utm_medium%3Dhpp%26utm_campaign%3Des"><b>Instala Google Chrome</b></a></div></div></table></div><script>(function(){var b='pmocntr',a=document.getElementById(b),c='d',d='i',e;function p(){a.style.display='none'}try{a.load(b);e=a.getAttribute(d)||0;if(a.getAttribute(c)||e>25){p()}else{a.setAttribute(d,++e);a.save(b)}}catch(z){}window.cpc=function(){p();try{a.setAttribute(c,1);a.save(b)}catch(z){}};window.onresize=function(){if(a.offsetWidth*2+document.getElementById('logo').offsetWidth>document.body.clientWidth){a.className='pmoflt'}else{a.className='pmoabs'}};window.lol=function(){window.onresize()}}())</script><br clear=all id=lgpd><div align=left style="background:url(/intl/en_com/images/logo_plain.png) no-repeat;height:110px;width:276px" title="Google" id=logo onload="window.lol&&lol()"><div nowrap style="color:#666;font-size:16px;font-weight:bold;left:208px;position:relative;top:78px">Uruguay</div></div><br><form action="/search" name=f><table cellpadding=0 cellspacing=0><tr valign=top><td width=25%> </td><td align=center nowrap><input name=hl type=hidden value=es><input maxlength=2048 name=q size=55 title="Buscar con Google" value=""><br><input name=btnG type=submit value="Buscar con Google"><input name=btnI type=submit value="Voy a tener suerte"></td><td nowrap width=25%><font size=-2>  <a href=/advanced_search?hl=es>Búsqueda avanzada</a><br>  <a href=/preferences?hl=es>Preferencias</a><br>  <a href=/language_tools?hl=es>Herramientas del idioma</a></font></td></tr><tr><td align=center colspan=3><font size=-1><span style="text-align:left">Buscar en: <input id=all type=radio name=meta value="" checked><label for=all> la Web</label> <input id=lgr type=radio name=meta value="lr=lang_es"><label for=lgr> páginas en español</label> <input id=cty type=radio name=meta value="cr=countryUY"><label for=cty> páginas de Uruguay</label> </span></font></td></tr></table></form><br><br><font size=-1><a href="/intl/es/ads/">Programas de publicidad</a> - <a href="/services/">Soluciones Empresariales</a> - <a href="/intl/es/about.html">Todo acerca de Google</a> - <a href=http://www.google.com/ncr>Google.com in English</a><p id=shf0 style=display:none;behavior:url(#default#homePage)><font size=-1><a href="/aclk?sa=L&ai=CuxZkoCAjSovWFMOZlQf97J0PxfiffMfwoccKza2TlxEQASDBVFC-nKHJ-P____8BYNsGqgQJT9ANjU3TxOq7&num=1&sig=AGiWqtyuqanV3n5ymToPvFWdYySqQSP0jA&q=/mgyhp.html" onclick=xz()>Hacer de Google mi página de inicio</a></p><script>(function(){var a=document.getElementById("shf0"),b="http://www.google.com.uy/";try{a.isHomePage(b)||(a.style.display="block")}catch(z){}window.xz=function(){try{a.setHomePage(b);var c=new Image;c.src="/gen_204?mgmhp=shf0&ct=c&cd="+a.isHomePage(b);window.wy=c}catch(z){}}})();</script></font><p><font size=-2>©2009 - <a href="/intl/es/privacy.html">Privacidad</a></font></p></center><div id=xjsd></div><div id=xjsi><script>if(google.y)google.y.first=[];if(google.y)google.y.first=[];google.dstr=[];google.rein=[];window.setTimeout(function(){var a=document.createElement("script");a.src="/extern_js/f/CgJlcxICdXkrMAo4GywrMA44BSwrMBY4CiwrMBc4ASwrMBg4BCwrMCU4yYgBLCswJjgELCswJzgALA/LQRif5rjldI.js";(document.getElementById("xjsd")||document.body).appendChild(a)},0);

;google.xjs&&google.j&&google.j.xi&&google.j.xi()</script></div><script>(function(){

function a(){google.timers.load.t.ol=(new Date).getTime();google.report&&google.report(google.timers.load,{ei:google.kEI,e:google.kEXPI})}if(window.addEventListener)window.addEventListener("load",a,false);else if(window.attachEvent)window.attachEvent("onload",a);google.timers.load.t.prt=(new Date).getTime();

})();

</script>
El problema está en que cuando abro el código fuente de hotmail.com

Código: Seleccionar todo

<!-- ServerInfo: BY1IDSPLGN1I05 2009.05.08.01.28.02 Live1 Unknown LocVer:0 -->

<!-- PreprocessInfo: btsa007:TK1ESRVBLDA114,  -- Version: 6,500,12348,0 -->

<html dir="ltr"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/><base href="http://login.live.com/pp650/"/><noscript><meta http-equiv="Refresh" content="0; URL=http://login.live.com/jsDisabled.srf?lc=14346"/>Windows Live ID requiere JavaScript para iniciar sesión. Este explorador web no admite JavaScript o las secuencias de comandos están bloqueadas.<br /><br />Para averiguar si el explorador admite JavaScript o para permitir las secuencias de comandos, consulte la ayuda en pantalla del explorador.</noscript><title>Iniciar sesión</title><meta name="PageID" content="i5030"/><meta name="SiteID" content="64855"/><meta name="ReqLC" content="14346"/><meta name="LocLC" content="3082"/><script type="text/javascript">var g_QS="wa=wsignin1.0&rpsnv=10&ct=1243816538&rver=5.5.4177.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=3082&id=64855&mkt=es-UY&bk=1243816502";</script><script type="text/javascript">var srf_sBrHdr='';var srf_sBrTtl='Hotmail';var srf_sBrSTtl='##li4##Eficaz tecnología de Microsoft para combatir el correo no deseado y mejorar la seguridad.##li19##Aumenta tu eficacia gracias a su mayor sencillez y velocidad.##li16##Amplio espacio de almacenamiento  y más material atractivo próximamente.##BR## ##BR## ##A##Más información##/A##';var srf_uBrImg='';var srf_sUpLnk='http://mail.live.com/mail/about.aspx';var srf_sHdrBrnd='';var srf_sPrdBrnd='';var srf_fValProp=1;var srf_fSignup=1;var srf_oTemplate=new Object();var srf_uPost='https://login.live.com/ppsecure/post.srf?wa=wsignin1.0&rpsnv=10&ct=1243816538&rver=5.5.4177.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=3082&id=64855&mkt=es-UY&bk=1243816502';var srf_uRet="http://mail.live.com/default.aspx";var srf_uSSL='https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=10&rver=5.5.4177.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=3082&id=64855&mkt=es-UY&bk=2102400';var srf_uReg="https://signup.live.com/signup.aspx?ru=http%3a%2f%2fmail.live.com%2f%3frru%3dinbox&wa=wsignin1.0&rpsnv=10&ct=1243816538&rver=5.5.4177.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=3082&id=64855&mkt=es-UY&bk=1243816502&cru=http://login.live.com/login.srf%3fwa%3dwsignin1.0%26rpsnv%3d10%26rver%3d5.5.4177.0%26wp%3dMBI%26wreply%3dhttp:%252F%252Fmail.live.com%252Fdefault.aspx%26lc%3d3082%26id%3d64855%26mkt%3des-UY";var srf_uPwRst="https://login.live.com/resetpw.srf?wa=wsignin1.0&rpsnv=10&ct=1243816538&rver=5.5.4177.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&id=64855&mkt=es-UY&bk=1243816502&lc=14346";var srf_uPrivacy="http://login.live.com/gls.srf?urlID=MSNPrivacyStatement&lc=14346&vv=650";var srf_uPinRst="javascript:DoHelp('sdarc_tarms_tuoba','','14346','DH_MSN,14346','','650','&format=b1');";var srf_uLogin = "http://login.live.com/login.srf?wa=wsignin1.0&rpsnv=10&ct=1243816538&rver=5.5.4177.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&id=64855&mkt=es-UY&vv=650&lc=14346";var srf_uRDScript='RDHelper_JS.srf?x=6.5.11760.0&lc=14346';var srf_uEIDScript='EIDHelper_JS.srf?x=6.5.11760.0&lc=14346';var srf_uSwUsr='http://login.live.com/logout.srf?wa=wsignin1.0&rpsnv=10&ct=1243816538&rver=5.5.4177.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=3082&id=64855&mkt=es-UY&wlsu=1&ru=http://mail.live.com/default.aspx&bk=1243816502&lm=I';var srf_iCredType=0;var srf_fCSObj=1;var srf_fEIDFlowEnabled=1;var srf_fCollectPin=1;var srf_fAsyncDLEnabled=1;var srf_fLateCk=1;var srf_aFedTiers=[3,1];var srf_sFedQS='wa=wsignin1.0&wtrealm=uri:WindowsLiveID&wctx=wa%3Dwsignin1.0%26rpsnv%3D10%26ct%3D1243816538%26rver%3D5.5.4177.0%26wp%3DMBI%26wreply%3Dhttp:%252F%252Fmail.live.com%252Fdefault.aspx%26lc%3D3082%26id%3D64855%26mkt%3Des-UY%26bk%3D1243816502';var srf_iFedState=0;srf_sBlkDom=',,';var srf_RDAJAX=1;var g_RDHash=1;var srf_fEnInstr=1;var srf_sRBlob='PassportR';var srf_sNUsr='';var srf_sLOpt='';var srf_iCredPostType='';var srf_sPreMn='';var srf_sDispMn='';var srf_sFT='<input type="hidden" name="PPFT" id="i0327" value="BzwCRsNgdDKJ5n56JWgICfWu2B43W7qlouanhJIrTAdI8dOx86ugqPpSZousk*3yN!6iG3JBUBJTSVqBKyDt4D127n4Rb3VYn0wdNft7NnTfRlHNvzY*WURK5DWWEvA1nwqjVmy2q6uatDhISxREOcN6jWDOna3uVh9Am7K83Kx*2vd69p4LQolIDU7c"/>';var srf_fBHO=1;</script><link rel="stylesheet" type="text/css" href="css/WEBWinLive3082.css?x=6.500.12348.00"/><script type="text/javascript" src="WLLogin_JS.srf?x=6.5.11760.0&lc=14346"></script>

<style type="text/css">

.cssBtnRest input{background-image: url(http://img.wlxrs.com/~Live.SiteContent.ID/~14.2.1230/~/~/~/btnbkgnd_rest.gif);}

.cssLT{background-image: url(http://img.wlxrs.com/~Live.SiteContent.ID/~14.2.1230/~/~/~/utbkgnd.gif);}

.cssLTMore{background-image: url(http://img.wlxrs.com/~Live.SiteContent.ID/~14.2.1230/~/~/~/utbkgnd.gif);}

.cssWLGradientIMG,.cssWLGradientIMGSSL{background-image: url(http://img2.wlxrs.com/~Live.SiteContent.ID/~14.2.1230/~/~/~/wave3header.jpg);}

.higbutton{background-image: url(http://img.wlxrs.com/~Live.SiteContent.ID/~14.2.1230/~/~/~/btnbkgnd_rest.gif);}

.higbuttonblue{background-image: url(http://img.wlxrs.com/~Live.SiteContent.ID/~14.2.1230/~/~/~/btnbkgnd_hot.gif);}

</style>

</head>

<body onload="onLoad_Login();">

</body></html>
no encuentro la "f1" que es el nombre del formulario para ingresar el usuario supongo. Les agradezco de antemano su ayuda asi como si me pueden indicar otra forma más fácil de hacer lo que quiero y disculpen si inserté demasiado código, es que leí en otros posts que pedían el código de lo que hacían para poder ayudar mejor...en todo caso no pongo tanto la próxima vez :smt005

Re: Ayuda con _IEFormGetObjByName

Publicado: 01 Jun 2009, 20:38
por Nahuel
www.debugbar.com

Excelente herramienta para este tipo de dilemas. Es una barra para IE. Sólo tenés que pasar el mouse por los controles y debugbar te da la información.

Re: Ayuda con _IEFormGetObjByName

Publicado: 02 Jun 2009, 02:53
por Mithrandir
¡Gracias! Lo estuve probando y ya de entrada me mostró el nombre del formulario. Voy a ver que tal me va con otros formularios y cualquier cosa pregunto :smt002

Re: Ayuda con _IEFormGetObjByName

Publicado: 02 Jun 2009, 03:56
por Mithrandir
Estuve leyendo la ayuda sobre la función _IEFormSubmit verán tomé como base este ejemplo:

Código: Seleccionar todo

#include <IE.au3>



; Create a new browser window and navigate to a page

$oIE = _IECreate()

_IENavigate($oIE, "http://autoitscript.com")



; Click on liks to navigate to the v3 Support forum

_IEClickLinkByText($oIE, "forum")

_IEClickLinkByText($oIE, "v3 Support")



; Click on the NewTopic button

_IEClickImg($oIE, "Start new topic", "alt")



; Find the form and the form fields we are interested in

$o_form     = _IEFormGetObjByName($oIE, "REPLIER")

$o_title     = _IEFormElementGetObjByName($o_form, "TopicTitle")

$o_desc     = _IEFormElementGetObjByName($o_form, "TopicDesc")

$o_message     = _IEFormElementGetObjByName($o_form, "Post")



; Set the value of the form fields

_IEFormElementSetValue($o_title, "Test using the IE Automation UDF Library")

_IEFormElementSetValue($o_desc, "I'm a knucklehead...")

_IEFormElementSetValue($o_message, "I didn't mean to Submit this!")



; The next line would submit the form -- but don't do it unless you want to be a knucklehead :-)

;;;;_IEFormSubmit($o_form)]/code]



El tema es que quiero hacerlo en esta web: http://forums.linkbucks.com/newthread.php?do=newthread&f=12  y me parece que tiene javascript y según leí en esos casos no funciona esa función y hay que usar la _IEAction como dice en la ayuda:



[code]For many HTML forms it is not sufficient to use _IEFormSubmit() because there is often custom JavaScript tied to an onClick event for its Submit button. In these cases you'll need to simulate a click of the submit button instead of using _IEFormSubmit(). See the example for the "click" action of _IEAction().

As well, some form processing relies on the "value" of the submit button being passed along with the rest of the form data (often when there is more than one submit button in the form and they are designed to trigger different results). This function will not result in a submit button value being passed. The solution is to use the "click" action of _IEAction() as above.


El problema es que cómo hago para ubicar el formulario en javascript sin usar _IEFormGetObjByName ?? porque no pude encontrar el "name" del form en el código a diferencia de en el ejemplo del google que lo encontré enseguida, cito los códigos de ambas páginas:



el foro donde estoy intentando ingresar para postear en la sección de test:


Código: Seleccionar todo

<FORM onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)" action=login.php method=post><INPUT type=hidden value=login name=do> <INPUT type=hidden value=/newthread.php?do=newthread&f=12 name=url> <INPUT type=hidden name=vb_login_md5password> <INPUT type=hidden name=vb_login_md5password_utf> <INPUT type=hidden name=s> <!-- permission error message - user not logged in -->

<DIV class=smallfont>You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:</DIV>

<OL>

<LI class=smallfont>You are not logged in. Fill in the form at the bottom of this page and try again. 

<LI class=smallfont>You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system? 

<LI class=smallfont>If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation. </LI></OL>

<FIELDSET class=fieldset><LEGEND>Existing members log in</LEGEND>

<TABLE cellSpacing=3 cellPadding=0 align=center border=0>

<TBODY>

<TR>

<TD>User Name:<BR><INPUT class=bginput accessKey=u tabIndex=1 size=50 name=vb_login_username></TD></TR>

<TR>

<TD>Password:<BR><INPUT class=bginput accessKey=p tabIndex=1 type=password size=50 value="" name=vb_login_password></TD></TR>

<TR>

<TD><SPAN style="FLOAT: right"><A href="login.php?do=lostpw">Forgotten Your Password?</A></SPAN> <LABEL for=cb_cookieuser><INPUT id=cb_cookieuser tabIndex=1 type=checkbox value=1 name=cookieuser>Remember Me?</LABEL> </TD></TR>

<TR>

<TD align=right><INPUT class=button accessKey=s tabIndex=1 type=submit value="Log in"> <INPUT class=button accessKey=r tabIndex=1 type=reset value="Reset Fields"> </TD></TR></TBODY></TABLE></FIELDSET> </FORM>


google (se vé de primera el nombre del form f)


Código: Seleccionar todo

<FORM onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)" action=login.php method=post><INPUT type=hidden value=login name=do> <INPUT type=hidden value=/newthread.php?do=newthread&f=12 name=url> <INPUT type=hidden name=vb_login_md5password> <INPUT type=hidden name=vb_login_md5password_utf> <INPUT type=hidden name=s> <!-- permission error message - user not logged in -->

<DIV class=smallfont>You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:</DIV>

<OL>

<LI class=smallfont>You are not logged in. Fill in the form at the bottom of this page and try again. 

<LI class=smallfont>You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system? 

<LI class=smallfont>If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation. </LI></OL>

<FIELDSET class=fieldset><LEGEND>Existing members log in</LEGEND>

<TABLE cellSpacing=3 cellPadding=0 align=center border=0>

<TBODY>

<TR>

<TD>User Name:<BR><INPUT class=bginput accessKey=u tabIndex=1 size=50 name=vb_login_username></TD></TR>

<TR>

<TD>Password:<BR><INPUT class=bginput accessKey=p tabIndex=1 type=password size=50 value="" name=vb_login_password></TD></TR>

<TR>

<TD><SPAN style="FLOAT: right"><A href="login.php?do=lostpw">Forgotten Your Password?</A></SPAN> <LABEL for=cb_cookieuser><INPUT id=cb_cookieuser tabIndex=1 type=checkbox value=1 name=cookieuser>Remember Me?</LABEL> </TD></TR>

<TR>

<TD align=right><INPUT class=button accessKey=s tabIndex=1 type=submit value="Log in"> <INPUT class=button accessKey=r tabIndex=1 type=reset value="Reset Fields"> </TD></TR></TBODY></TABLE></FIELDSET> </FORM>


A y finalmente también el source del login del messenger por este ejemplo:


Código: Seleccionar todo

Log into Hotmail

CODE

#include <IE.au3>



; Create a browser window and navigate to hotmail

$oIE = _IECreate()

_IENavigate($oIE, "http://www.hotmail.com")



; get pointers to the login form and username and password fields

$o_form = _IEFormGetObjByName($oIE, "f1")

$o_login = _IEFormElementGetObjByName($o_form, "login")

$o_password = _IEFormElementGetObjByName($o_form, "passwd")



; Set field values and submit the form

_IEFormElementSetValue($o_login, "your username here")

_IEFormElementSetValue($o_password, "your password here")

_IEFormSubmit($o_form)



Exit

Código: Seleccionar todo

<FORM style="MARGIN: 0px" name=f1 onsubmit="return OnSigninSubmit(this);" action=https://login.live.com/ppsecure/post.srf?bk=1243907579 method=post target=_top><INPUT id=i0326 type=hidden value=Passport name=PPSX><INPUT id=i0340 type=hidden name=PwdPad><INPUT id=type type=hidden name=type>

<TABLE class=css0086 cellSpacing=0 cellPadding=0>

<TBODY>

<TR>

<TD class=css0144>

<TABLE class=css0113 cellSpacing=0 cellPadding=0>

<TBODY>

<TR>

<TD class=css0002>Iniciar sesión en Sitio web de Windows Live ID</TD>

<TD class=css0029 vAlign=center align=right><NOBR><A id=i1055 href="javascript:DoHelp('NoPHKeyWord','','14346','DH_PP,14346','','650');">Ayuda</A></NOBR></TD></TR></TBODY></TABLE></TD></TR>

<TR>

<TD class=css0145>

<TABLE class=css0113 cellSpacing=0 cellPadding=0>

<TBODY>

<TR>

<TD class=css0119 colSpan=2>

<TABLE class=css0113 id=i0519 style="DISPLAY: none" cellSpacing=0 cellPadding=0>

<TBODY>

<TR>

<TD class=css0122><IMG id=i2017 alt="Símbolo de error" src="images/icon_err.gif?x=6.5.11760.0"></TD>

<TD class=css0149><SPAN class=css0023>Escriba la dirección de correo electrónico en el formato siguiente: [email protected]. <A id=i1056 href="javascript:DoHelp('PPSlhlpd','','14346','DH_PP,14346','','650');">¿Necesita ayuda con el inicio de sesión?</A></SPAN></TD></TR></TBODY></TABLE></TD></TR>

<TR>

<TD class=css0059 vAlign=top align=right><LABEL for=i0116>Dirección de correo electrónico:</LABEL></TD>

<TD class=css0093 vAlign=top><INPUT class=css0034 id=i0116 style="IME-MODE: disabled" maxLength=113 name=login autocomplete="off"></TD></TR>

<TR id=i0512 style="DISPLAY: none">

<TD class=css0096 style="FONT-SIZE: 1px"> </TD>

<TD class=css0097>

<TABLE class=css0113 cellSpacing=0 cellPadding=0>

<TBODY>

<TR>

<TD class=css0122><IMG id=i2017 alt="Símbolo de error" src="images/icon_err.gif?x=6.5.11760.0"></TD>

<TD class=css0149><SPAN class=css0023>Esta información es necesaria.</SPAN></TD></TR></TBODY></TABLE></TD></TR>

<TR>

<TD class=css0059 vAlign=top align=right><LABEL for=i0118>Contraseña:</LABEL></TD>

<TD class=css0093 vAlign=top><INPUT class=css0034 id=i0118 style="IME-MODE: disabled" type=password maxLength=16 value="" name=passwd autocomplete="off">

<DIV class=css0064><A id=i1011 href="https://login.live.com/resetpw.srf?bk=1243907579&lc=14346">¿Ha olvidado la contraseña?</A></DIV></TD></TR></TBODY></TABLE>

<DIV class=css0170 align=right><NOBR><INPUT class=css0088 id=i0011 type=submit value="    Iniciar sesión    " name=SI></NOBR></DIV></TD></TR>

<TR>

<TD class=css0146>

<TABLE class=css0113 cellSpacing=0 cellPadding=0>

<TBODY>

<TR>

<TD vAlign=top><INPUT id=i0136 type=radio value=1 name=LoginOptions></TD>

<TD class=css0041 vAlign=top><LABEL for=i0136>Guardar mi dirección de correo electrónico y contraseña</LABEL></TD></TR>

<TR>

<TD vAlign=top><INPUT id=i0137 type=radio CHECKED value=2 name=LoginOptions></TD>

<TD class=css0041 vAlign=top><LABEL for=i0137>Guardar mi dirección de correo electrónico</LABEL></TD></TR>

<TR>

<TD vAlign=top><INPUT id=i0138 type=radio value=3 name=LoginOptions></TD>

<TD class=css0041 vAlign=top><LABEL for=i0138>Pedir siempre mi dirección de correo electrónico y contraseña</LABEL></TD></TR></TBODY></TABLE>

<DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 1px; PADDING-BOTTOM: 0px; PADDING-TOP: 3px"> </DIV>

<P class=css0006 style="PADDING-LEFT: 5px"><A id=i1663 onclick="javascript:SetWLLoginOption('ssl',1)" href="https://login.live.com/login.srf?bk=6779415">Iniciar sesión con las opciones de seguridad mejoradas</A></P></TD></TR>

<TR>

<TD class=css0147>

<TABLE class=css0113 cellSpacing=0 cellPadding=0>

<TBODY>

<TR>

<TD vAlign=top rowSpan=3><A id=i1071 href="https://accountservices.passport.net/ppnetworkhome.srf?vv=650&lc=14346" target=_blank><IMG class=css0189 id=i2033 alt="Windows Live ID" src="images/LiveID16.gif?x=6.5.11760.0" border=0></A></TD>

<TD class=css0175><A id=i1071 href="https://accountservices.passport.net/ppnetworkhome.srf?vv=650&lc=14346" target=_blank>Windows Live ID</A></TD></TR>

<TR>

<TD class=css0875>Funciona con sitios de Windows Live, MSN y Microsoft Passport.</TD></TR>

<TR>

<TD class=css0025><NOBR><A id=i1081 href="https://accountservices.passport.net/?vv=650&lc=14346&id=10" target=_top>Servicios de cuenta</A></NOBR> </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><INPUT id=i0327 type=hidden value=B4yNwcXYZIYav9Sm5TcYhsdnR7Zpx7GxUqKueAw3pWdgAVRLEfB*IBQbS2b6NFjpJ0lTyQaPevw4weJXh3l2nO0hs9BixqLWtvvqsQLQPADyeglb5eyHMDEstSfj7WnpJw4sQMjMOrip8VwpP4ood5N8wlMpCOs6IxiX1X0$ name=PPFT></FORM>
Acá tambien se ve claro el nombre del form "f1" entonces por qué en el que yo quiero postear no se ve el nombre del form??

Re: Ayuda con _IEFormGetObjByName

Publicado: 02 Jun 2009, 08:11
por Levignot
Aunque no es una ayuda directa, y supongo que con el debugbar (que aun tengo que probar), te solucionó mucha lectura de codigo html, en firefox se usa tambien el firebug, que es un addon gratuito que puedes descargar de: https://addons.mozilla.org/es-ES/firefox/addon/1843

Re: Ayuda con _IEFormGetObjByName

Publicado: 02 Jun 2009, 21:57
por Chefito
Sí, parece que hotmail ha ocultado un poco el código :smt003 .
Pero investigando un poco en la página cargada, se saca todos los elementos.
Aquí dejo dos formas de ingresar a la cuenta de correo desde la página de hotmail.
En la 1º accedo a traves del formulario por su nombre (f1) y a los elementos de éste por sus nombres.
En la 2º accedo a traves del primer formulario que tiene la página, que es el que me interesa para luego mandar la información con un submit, y a traves de los nombres de los objetos de la página que nos interesa.

Código: Seleccionar todo

#include <IE.au3>



$oIE = _IECreate ("http://www.hotmail.com")

;1º forma de hacerlo

$oform= _IEFormGetObjByName ($oIE, "f1")

$oDiv1 = _IEFormElementGetObjByName($oform, "login")

$oDiv2 = _IEFormElementGetObjByName ($oform, "passwd")

;se acaba la primera forma

#cs

;esta es otra forma de hacerlo ;)

$oDiv1 = _IEGetObjByName ($oIE, "login")

$oDiv2 = _IEGetObjByName ($oIE, "passwd")

$oform= _IEFormGetCollection ($oIE, 0)      ;es el número de formulario para iniciar sesión

;se acaba la 2º forma.

#ce



$oDiv1.value="username"

$oDiv2.value="password"

_IEFormSubmit($oform)

 
Por cierto, también se puede cliquear el botón submit, sabiendo que su name es SI y su id es idSIButton9 :smt002 .

Saludos.