2014-12-27 2 views
2

Я пытаюсь автоматического входа на сайт, используя этот скрипт:Perl WWW :: Механизируйте безопасный запуск входа в браузере

use WWW::Mechanize; 
use LWP; 

my $company = 'company'; 
my $password = 'password'; 

my $mech = WWW::Mechanize->new(); 
my $url = 'https://www.infokeeper.com'; 

$mech->get($url); 
$mech->form_name('GetLogin'); 
$mech->field('company', $company); 
$mech->field('password', $password);                       
$mech->click('SubmitButton'); 

$mech->save_content("content.html"); 

my $url2 = $mech->uri; 
system("chromium-browser \"$url2\""); 

Он успешно войти в систему, о чем свидетельствует открытие content.html. Однако, когда я пытаюсь запустить «живую» страницу в браузере с помощью

my $url2 = $mech->uri; 
system("chromium-browser \"$url2\""); 

это дает ту же ошибку проверки, как если бы я просто нажал на кнопку «Отправить», не вводя имя пользователя/пароль. Что может быть причиной этого? Что-то с печеньем?

+0

Да, куки не разделяют между мехом и хромом. Что делать с хромом? –

+0

Мне не обязательно использовать Chromium, мне просто нужно открыть страницу в браузере в конце, чтобы я смог увидеть конечный результат, где меня взяла автоматизация. Скрипт показывает только первый шаг в том, что я в конечном итоге хочу сделать, но в любом случае мне нужно запустить зарегистрированную страницу в браузере. – aconkey

+0

Mech IS - браузер, почему бы вам просто не увидеть конечный результат в конце с '$ mech-> content'? –

ответ

1

Есть WWW::Mechanize::Firefox, если вы хотите сделать то же самое в браузере. Я написал Controlling Firefox from Perl.

+0

Могу ли я перемещаться по нескольким страницам без открытия браузера, а затем, когда я дойду до последней страницы в цепочке, откройте браузер только для этой последней страницы? – aconkey

+0

Возможно, вы можете это сделать, хотя я этого не сделал. Я читал о людях, делающих это с безголовыми системами, и есть способ сделать снимок экрана на странице. –

Смежные вопросы