Как получить HTML-таблицу из документа, используя WWW::Mechanize::Firefox
Я не понимаю, как получить доступ к таблице HTML из документа.
Я играю по этой ссылке: Scotia Bank Jobs
Идея состоит в том, чтобы нажать кнопку "Следующая страница" несколько раз и собрать все маленькие таблицы HTML в одну.
Когда я открываю ссылку с WWW::Mechanize::Firefox
Я могу получить весь документ (и таблицу HTML первой страницы) с
my $cont= $mech->content( format => 'html' );
После этого я нажимаю кнопку "Следующая страница" с
my $id="search_result_next_page_link";
$mech->click({ xpath => qq{//*[\@id="$id"]}, synchronize => 0 });
Я могу нажать кнопку много раз, и в документе изменяется таблица, но я не могу использовать $mech->content
больше, потому что URL-адрес тот же, а содержимое не меняется.
Я пытался что-то вроде:
my $tt= $mech->xpath('/html/body/form/div[4]/div/main/div/div[3]/section/div/div/table/text()');
print $tt;
но он печатает "0".
У меня такое ощущение, что я очень близок, есть идеи, как получить таблицу HTML после каждого клика????
1 ответ
Наконец-то.... мне пришлось беспокоить автора WWW::Mechanize::Firefox
модуль и он предоставил решение, как получить HTML-код этой таблицы. Сценарий должен быть примерно таким:
@tt= $mech->selector('.tableSearchResults');
$HTMLtable= $tt[0]->{innerHTML};
Не забывайте, вам нужно ждать после каждого клика (или создавать цикл, ожидая появления элемента).