Я хочу использовать Perl, чтобы нажать на кнопку. Я получаю HTML-контент, а затем нажимаю кнопку. Но "input type = hidden" при проверке содержимого HTML.
Содержание HTML:
<div class="content freepts_cont">
<input type="hidden" id="network" value="5"/>
<div class="like_notification"></div>
Содержимое Firebug:
<div class="content freepts_cont">
<input id="network" type="hidden" value="5">
<div class="like_notification"></div>
<div id="site-links-list">
<center>
<div id="L_c3cbf051418f1ec690c445ad843144" class="yt-video-content" style="width: 520px;">
<div class="likedPagesSingle" style="width:400px;border:1px solid #E8E8E8;padding-top:15px; min-height:250px;">
<center>
<center>
<div class="fb_page_title">
<div style="width:100px; height:100px; overflow:hidden;">
<a style="display:block; width:100px; heigt:100px; overflow:hidden;" href="#">
<img style="width:100%; height:auto;" title="Night Thriller" alt="Night Thriller" src="/images/layout/youtube_page_view.png">
</a>
</div>
<a class="single_like_button btn3-wrap" onclick="openFbLWin(843144, 'JTJGMiUzQSVFMyVEQyUxNSU5MSU4NCUxMSU3RiVFNyU4OCUyM1clM0QyJUM3JUIwMw==');">
</center>
<div class="mtop10" style="margin-bottom:10px;">
<div class="mtop10" style="margin-bottom:10px;">
</div>
</div>
Я хочу, чтобы Perl <a class="single_like_button btn3-wrap" onclick="openFbLWin(843144, 'JTJGMiUzQSVFMyVEQyUxNSU5MSU4NCUxMSU3RiVFNyU4OCUyM1clM0QyJUM3JUIwMw==');">
: <a class="single_like_button btn3-wrap" onclick="openFbLWin(843144, 'JTJGMiUzQSVFMyVEQyUxNSU5MSU4NCUxMSU3RiVFNyU4OCUyM1clM0QyJUM3JUIwMw==');">
Как?
Ваш лучший выбор, и в моем собственном опыте, который легко настроить и использовать, будет
Я не совсем уверен, что именно вы пытаетесь сделать - изменить значение скрытого ввода и затем отправить? Возможно, крошечный и непроверенный фрагмент будет вам полезен.
Если у вас есть более конкретные вопросы, я, вероятно, могу помочь, но документы CPAN до сих пор прояснили любой из моих вопросов, поэтому не увольняйте их слишком быстро;)
В любом случае, Mechanize достаточно хорошо документирован и полезен для этой задачи.
Редактировать: Я как-то упустил ссылку, которую вы дали. Этот код должен найти его.
Edit2: вы можете попробовать WWW :: Mechanize :: Firefox, который, похоже, способен обрабатывать javascript. Я бы использовал его, но я уже привык к Механизации. Возможно, другие могут предложить лучший вариант.
my $mech = WWW::Mechanize->new();
$mech->follow_link( class => 'single_like_button btn3-wrap' );
# alternatively, get the link object, see what you can do with that
my $link = $mech->find_link( class => 'single_like_button btn3-wrap' );
# or, if it is not the only one of class
my @links = $mech->find_links( class => 'single_like_button btn3-wrap' );
# now somehow get the link out of the list
Возможно, это не сработает, поскольку, похоже, ссылка не предоставляется. в этом случае попробуйте использовать click() или click_button(). Чтобы быть совершенно честным, я должен буду указать вам документы, потому что у меня ограниченный опыт в этой конкретной проблеме, до сих пор получая ссылки и следя за ними, все, что мне нужно было сделать для тестирования моих сайтов.
Удачи в Mechanize!