• Publicidad

Botón de acceso

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Botón de acceso

Notapor Soyic » 2013-04-29 07:53 @370

Buen día,

Aquí expongo mi duda, ya que tengo un archivo que tengo que correr por semana para acceder a una página web, pero cambiaron la forma de acceso. Yo no hice el script ya que apenas ando empezando en aprender Perl. Bueno, aquí anexo mi duda...

Este es el script que tengo para acceder la parte del login:

#!/usr/bin/perl
use strict;
use Spreadsheet::WriteExcel;
use Win32::IEAutomation;
use Win32::IEAutomation::WinClicker;
use Win32::IEAutomation::Table;
use DBI;
use Data::Dump qw(dump);
use vars qw/$dbh $sth $dbh2 $sth2 $dbh3 $sth3 $SQL $stm2 $stm3 $request $response $net_gross $currency $worksheet $margin_id $margin_rate @urls @margin @sku/;

my $ie = Win32::IEAutomation->new();
my $clicker = Win32::IEAutomation::WinClicker->new();
$ie->gotoURL("http://*********", 1);
$ie->WaitforDone;
$ie->getTextBox('name:', 'fUsuario')->SetValue("*****");
$ie->getTextBox('name:', 'fContrasenia')->SetValue("******");
$ie->getButton('name:','entrar')->Click();
$ie->WaitforDone;
sleep(20);
$ie->closeIE();
sleep(10);

Aquí muestro la página web donde no me da acceso ya que al momento de dar al botón no me deja. Lo dejé de forma original, lo he cambiando pero no me resulta.

<td>Usuario&nbsp;</td><td><input name="fUsuario" type="text" class="me_login"></td>
<td>&nbsp;&nbsp;Contrase&ntilde;a&nbsp;</td><td><input name="fContrasenia" type="password" class="me_login"><input name="fmtipo" type="hidden" id="fmtipo" size="10" value="contacto"></td>
<td><input type="image" src='imagenes/me_boton.jpg' onClick="return check(this)"></td>


El campo de "fUsuario" y el de "fContrasenia" sí me los pone pero al momento de dar al botón para acceder, nada.

Saludos
Soyic
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2013-01-29 17:18 @762

Publicidad

Re: Botón de acceso

Notapor explorer » 2013-04-29 09:32 @439

Parece que lo que ha desaparecido es el botón 'entrar', y en su lugar hay una imagen que hace de botón, que llama a la subrutina en JavaScript check().

Entonces... hay que modificar la línea

$ie->getButton('name:','entrar')->Click();

y cambiarla por algo así:

$ie->getImage('imgurl:', 'imagenes/me_boton.jpg')->Click();

o así:

$ie->getImage('imgurl:', qr/me_boton.jpg$/)->Click();

Esta última usa una expresión regular para buscar por imágenes que terminen ($) con ese nombre en su atributo src.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Botón de acceso

Notapor Soyic » 2013-04-30 12:20 @556

Buen día, explorer.

Gracias por tus comentarios, he realizado los cambios que me mencionas pero no me hace ninguna acción. Si hay alguna otra opción para ir investigando, o si me puedes dar una pista, no para la resolución sino para investigar. Más que todo tengo ganas de aprender este lenguaje.


Saludos
Soyic
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2013-01-29 17:18 @762

Re: Botón de acceso

Notapor explorer » 2013-04-30 12:25 @559

Visitar la página de manual de Win32::IEAutomation, quizás.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 14 invitados