LMPX.COM |
Home | Linux | Mysql | PHP | XML | ||
|
|
|||
From: Duzenbury, Rich Date: Wed Jul 2 09:44:11 2008 Subject: Form parsing issue?
Hello all,
I have mechanized a site using LWP and Mechanize that has been working
for about a year, but now no longer does. The site owner has made some
recent changes, but I think mechanize, or more precisely HTML::form
might be having trouble parsing the page and I'd like to find out why.
In order to make the form work, I set the __EVENTTARGET hidden field to
a certain value, but as of this week, the script dies with:
$self->mech->field('__EVENTTARGET',
'ChangeViewControl1$ImpersonateCommand');
No such field '__EVENTTARGET' at
/usr/lib/perl5/site_perl/5.8.7/WWW/Mechanize.pm line 1247
Sure enough, a form dump no longer shows the __EVENTTARGET field,
however, the 'view source' from firefox shows that there are several
hidden fields created. Notably, the first three that are blank,
__EVENTTARGET, __EVENTARGUMENT, and __LASTFOCUS are all missing from the
form dump. __VIEWSTATE and __EVENTVALIDATION are both fine.
Here is a sample of the page source causing the trouble:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<TITLE>IIG - Commission </TITLE>
<META CONTENT="Microsoft Visual Studio 7.0"
NAME="GENERATOR">
<META CONTENT="C#" NAME="CODE_LANGUAGE">
<META CONTENT="JavaScript"
NAME="vs_defaultClientScript">
<META
CONTENT="http://schemas.microsoft.com/intellisense/ie5"
NAME="vs_targetSchema">
<LINK rel="stylesheet" type="text/css"
href="/iig/Includes/content.css">
<LINK rel="stylesheet" type="text/css"
href="/iig/Includes/design.css">
</HEAD>
<BODY BACKGROUND="/IIG/images/graphics/LeftnavBG.gif">
<form name="BM_COMMISSION" method="post"
action="BM_Commission.aspx" id="BM_COMMISSION">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT"
value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUKMTk5OTEyOTc2OQ9kFgICAQ9kFgwCAw9kFgJmD2QWAmYPEGRkFgFmZAIFD
2QWBAIBDw9kFgIeB29uY2xpY2sFKHJldHVybiBwZXJzb25hbCBub3RlLi4uZGQCAw8PFgIfA
QUuSGF2ZSBhIG5pY2UgZGF5ISAgVGhhbmsgeW91IGZvciB5b3VyIGJ1c2luZXNzLmRkZGnL0
vBu6mpGya0ys5hHzxb2uD41" />
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['BM_COMMISSION'];
if (!theForm) {
theForm = document.BM_COMMISSION;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
... lots and lots of stuff ...
<input type="hidden" name="__EVENTVALIDATION"
id="__EVENTVALIDATION"
value="/wEWCwL43P67BgKPhY63AQKvyf96AuGR/ZsLAt7k4+oBAr/7qI8CApDruZ4MArj/l
YsOAqmWg8ABApLw8ekBAon9/ZAFbIsAYNVghSRuGVlbiVaPL3r23/U=" />
</div>
<script language="javascript"
type="text/javascript">xm_GetMenu('TopNav1$topMenu').xm_HK();</script></
form>
If you can help out that would be great. One thought I had, can I force
a new hidden field into the form?
Thank you.
Regards,
Rich
| Navigate in group perl.libwww at sever nntp.perl.org | |
| Previous | Next |
| © No Copyright You are free to use Anything |
Site Maintained by PHP Developer
Powered By PHP Consultants |