写了一个Perl 脚本,要干一件羞于启齿的事情。意思是这样的,用到了Win32::IEAutomation,首先
在调用的时候将地址传送给脚本,然后脚本打开一个浏览器代理,然后,跳转到该网页,经过若干次后,
关闭浏览器对象。下面是脚本
use Win32::IEAutomation;
my $newURL = $ARGV[0];
my $count = 100;
if(!defined($newURL)){
print "NO NEW URL\n";
print "USE OLD RECORD IN URLS\n";
}else{
print "ADD THE URL TO URLS";
open WH,">>URLS" or die "$!";
print WH $newURL."\n";
close WH or die "$!";
}
open RH,"URLS" or die "$!";
my @urls = ; chomp @urls;
close RH or die "$!";
my $ie = Win32::IEAutomation->new(visible => 0,maximize =>0);
for(my $time = 0; $time < $count;$time ++){
for(my $i = 0; $i < @urls; $i ++){
$ie->gotoURL($urls[$i]);
}
}
$ie->closeIE;
于是我这么调用
>perl webBroser.pl
可是出现了问题,$ARGV[0]只取到&,后面的东西没有传进去。
谁的错呢?我以为是Perl ,所以查了一下,分割符,$ARGV,可是没有收获,
最后,还是导师告诉了我原因,是出在cmd上,因为cmd 命令传参数的时候
他的分隔符是&,所以遇到一个参数里面有&的情况,就要加“”,
>perl webBroser.pl ""
这么搞就对了。。。
阅读(1140) | 评论(0) | 转发(0) |