Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > www::mechanize::firefox


Автор: burakov 25.6.2015, 01:42
Добрый день, подскжите пожалуйста как посредством
WWW::Mechanize::Firefox
ввести текст в INPUT

Рабочий пример
Код

    #выбираем форму по имени
    $mech->form_name('region');

    $mech-> field (region => decode ('cp1251', $region));
    $mech-> field (region => $region); 



ну тут получилось (что и поле и форма с одинаковым именем, но пример рабочий

а как быть если форма не имеет имени., поле не имеет имени обезличено
можно ли как то через xpath, или както селекторами выбрать это поле (в данном случае INPUT) в HTML
и изменить , назначить ему новое содержимое

очень нужен рабочий пример

возможно это можно сделать как то вот java методами

$mech->eval_in_page( $str [, $env [, $document]] )
$mech->eval( $str [, $env [, $document]] )

но у меня не получается (java не знаю совсем)

Друзья не бросьте в трудный час smile. очень нужно 
Спасибо


Автор: burakov 25.6.2015, 02:10
в справке написано
https://metacpan.org/pod/WWW::Mechanize::Firefox
http://search.cpan.org/dist/WWW-Mechanize-Firefox/lib/WWW/Mechanize/Firefox.pm


$mech->eval_in_page( 'StackExchange.switchMobile("on")');

ну как я понимаю.. чтото такое из языка JS

пытаюсь делать так
$mech->eval_in_page( 'document.write("Привет Мир!")');
пишет
MozRepl::RemoteObject: SecurityError: The operation is insecure.

а мне еще как то нужно не просто в страничку написать, а в нужный инпут :(.

Автор: infarch 26.6.2015, 10:12
$mech->field( $selector, $value, [,\@pre_events [,\@post_events]] )

Sets the field with the name given in $selector to the given value. Returns the value.

The method understands very basic CSS selectors in the value for $selector, like the HTML::Form find_input() method.

Автор: burakov 14.7.2015, 17:06
Код

$mech->field (

    $mech->xpath ('.//*[@id=\'atg_store_searchInput\']') => 
    decode ('cp1251', $temp1 -> [1]),
);



вот таким вот образом. то есть непонятно было именно как указать ему . не доходило. вот эта конструкция работает

спасибо, за помощь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)