Ive tried setting the __EVENTTARGET and am still getting the warning. I have changed the link number to vary the results with no luck. Here is my code
use strict;
use WWW::Mechanize;
use Time::Local;
use POSIX 'strftime';
use HTML::Strip;
my($url) = 'http://www.usgbc.org/LEED/Project/RegisteredProjectList.as
+px?CMSPageID=243&CategoryID=19&';
my($pageCheck) = "";
my $mech = WWW::Mechanize->new(autocheck =>1);
my($dirname) = "C:\\Program Files\\Perl Express\\Scripts\\";
my($fname) = "output.txt";
my($x) = 0;
open(OUT , ">$dirname$fname") || die "Cant open file";
#initialization to strip HTML from document
my $hs = HTML::Strip->new();
$mech->agent_alias('Linux Mozilla');
$mech->get($url) or die "Page $url can't be reached";
print "Made it past the url test\n";
my($form) = $mech->forms();
#selects all options from the lstLeedRating Field
my $menu = $form->find_input("lstLeedRating");
#clicks the BtnSearch
$pageCheck = $mech->click_button(name => "btnSearch");
my $pageCheck2 = "";
$pageCheck2 = $mech -> submit_form(
with_fields => {
'__EVENTTARGET' => 'dgRegProjectList:_ctl29:_ctl7',
},
);
if($pageCheck2->is_success){
print $pageCheck2->content;
#print $pageCheck->content;
}
else {
print STDERR $pageCheck2->status_line, "\n";
die "Page with those fields not found!";
}
my $page = $mech->content;
my $clean_text = $hs->parse( $page );
$hs->eof;
$clean_text =~s/.*(multiple LEED Rating Systems)//s;
my @lines = split /\n/, $clean_text;
for (@lines){
s/^\s+//;
s/\s+$//;
s/\s+/ /g;
}
$clean_text =~s/(2 3 4).*//s;
my @lines2 = split /\n/, $clean_text;
for (@lines2){
s/^\s+//;
s/\s+$//;
s/\s+/ /g;
}
my $clean = join "\n", @lines2;
print OUT $clean;
close OUT;
I have a feeling it has somethign to do with there call to the __doPostBack
<script language="javascript" type="text/javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft"
+) > -1) {
theform = document.frmRegisteredProjectList;
}
else {
theform = document.forms["frmRegisteredProjectList"];
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":")
+;
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>
Let me know what you think, and thanks in advance! |