Требуется очередной совет!
Прошёл две формы, а на третьем окне застрял. Возвращает второе вместо четвёртого.
Кажется, что надо просто пойти по ссылке "Сохранить резюме", но не идёт.
Пробовал вручную проделать: скопировал ссылку и вставил в другое окно - то же вернуло на второе окно.
Может дело в том что создаётся новая сессия агента? Кто подскажет.
#use strict;
my $j=0;
use LWP;
use HTML::TreeBuilder;
my $url = '
http://www.job.ru/editres.html';
my $br = LWP::UserAgent->new();
my $resp = $br->request(HTTP::Request->new(GET => $url));
die unless $resp->is_success;
my $tree = HTML::TreeBuilder->new_from_content($resp->content);
my @forms = $tree->look_down('_tag', 'form');
my $url2 = '
http://www.job.ru/' . $forms[0]->attr('action');
my @content = $forms[0]->look_down('_tag', 'input');
my @post;
foreach my $t (@content) {
if ($t->attr('type') eq 'hidden') { push @post, $t->attr('name') . '=' . $t->attr('value'); }
}
push @post, "editObjectsForm_objectId=12459752";
push @post, "editObjectsForm_password=jobjob";
$tree->delete();
print '2:', $url2, "\n", join('&', @post), "\n"; ## debug info
my $req=HTTP::Request->new(POST => $url2);
$req->content_type('application/x-www-form-urlencoded');
$req->content(join('&', @post));
my $resp2 = $br->request($req);
die unless $resp2->is_success;
open FILE, '>', 'C:/temp/11.html';
print FILE $resp2->content;
close FILE;
my $tree2 = HTML::TreeBuilder->new_from_content($resp2->content);
my @forms2 = $tree2->look_down('_tag', 'form');
my $url3 = '
http://www.job.ru/' . $forms2[0]->attr('action');
my @content2 = $forms2[0]->look_down('_tag', 'input');
my @post2;
foreach my $t2 (@content2) { push @post2, $t2->attr('name') . '=' . $t2->attr('value'); }
$tree2->delete();
my $url4=$url3;
print '3; ', $url3, "\n", join('&', @post2), "\n"; ## debug info
my $req2=HTTP::Request->new(POST => $url3);
$req2->content_type('application/x-www-form-urlencoded');
$req2->content(join('&', @post2));
my $resp3 = $br->request($req2);
die unless $resp3->is_success;
open FILE, '>', 'C:/temp/12.html';
print FILE $resp3->content;
close FILE;
$url4 =~ s/viewaddres/addres/;
$url4 =~ s/=view/=add/;
print '4: ', $url4;
my $resp4 = $br->get( $url4 );
die "Can't get $url4 -- ", $resp4->status_line
unless $resp4->is_success;
if($resp4->content =~ m/его ID: (\d+)/i) {
print "ID=$1"; }
open FILE, '>', 'C:/temp/13.html';
print FILE $resp4->content;
close FILE;