in reply to Re^9: How do I click Javascript button with Win32::IE::Mechanize
in thread How do I click Javascript button with Win32::IE::Mechanize
Now, when I run this code, I see the alert window as expected. Unless the JavaScript function subForm exists in the JavaScript file you include, nothing will happen when the link is followed, as there is no function in the HTML you have provided.<HTML> <HEAD> <TITLE>Cygent: Error</TITLE> <SCRIPT> function subForm(){ alert('Hello!'); } </SCRIPT> <SCRIPT LANGUAGE="JavaScript" SRC="ua/script/rollover.js"></SCRIPT> <SCRIPT SRC="common/script/js_common.js" language="javascript"></SCRIP +T> </HEAD> <BODY leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" BG +COLOR=#999999 LINK=#"0033CC" vlink="#0033CC" TEXT=#000000 onload="on +Load()"> <FORM NAME="mainForm" METHOD="POST" ACTION="/go" target="_top" onsubmi +t="return false;"> <INPUT TYPE=hidden NAME=from VALUE="UA_Error"> <INPUT TYPE=hidden NAME=to VALUE=""> <INPUT TYPE=hidden NAME=task VALUE=""> <!-- BEGIN Outer shell - sets minimum width for screen. Use 1004 for 1 +024 pixel screens and 780 for 800 pixel screens --> <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="100%" BGCOLOR="#FFF +FFF"> <!-- END title bars --> <TR> <TD ALIGN=LEFT VALIGN=TOP CLASS="FormBodyBGColor" COLSPAN="2"> <TABLE BORDER=0 CELLPADDING=10 CELLSPACING=0 WIDTH="100%"><TR><T +D ALIGN=LEFT VALIGN=TOP> <TABLE BORDER=0 CELLPADDING=10 CELLSPACING=0 WIDTH=620> <TR> <TD VALIGN=TOP> <FONT FACE="Arial" size="2">The following error has occurred:</f +ont> </TD> </TR> <TR> <TD VALIGN=TOP COLSPAN=2> <FONT FACE="Arial" size="2"> The system has encountered an error while processing your requ +est. <BR>Please click the "sign off" button provided below +, sign back into the system, and try your request again. </FONT> </TD> </TR> <TR> <TD COLSPAN=2> <FONT FACE="Arial" size="2"> Please click 'Go Back' button to return to the previous screen +, and continue from there. If you continue to encounter problems, ple +ase use the 'Sign Off' button to exit the application. </FONT> </TD> </TR> <TR> <TD> <A HREF="javascript:history.back()"> <IMG BORDER="0" SRC="ua/images/button_back.gif"></A></TD> <TD VALIGN=BOTTOM ALIGN=RIGHT><A HREF="javascript:subForm('UA_Sig +nin','signOff')"><IMG BORDER="0" SRC="ua/images/button-signoff.gif" a +lt=""></A></TD> </TR> </TABLE> </TD></TR></TABLE> </TD> </TR> </TABLE> <!-- END Outer shell --> </FORM> </BODY> </HTML>
Feel free to add the required error checking.#!/usr/bin/perl use strict; use warnings; use Win32::IE::Mechanize; my $ie = Win32::IE::Mechanize->new( visible => 1 ); my $url ='file:///c:/test.html'; $ie->get($url); $ie->follow_link(url => "javascript:subForm('UA_Signin','signOff')");
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^11: How do I click Javascript button with Win32::IE::Mechanize
by rshrivaQ (Initiate) on Dec 27, 2007 at 13:34 UTC | |
by marto (Cardinal) on Dec 27, 2007 at 13:50 UTC |