Возможно, вам следует проверить WWW :: Selenium , чтобы иметь дело с веб-страницами JavaScript.
WWW::Selenium
- это своего рода пульт дистанционного управления для браузеров.
Из документации: Selenium Remote Control (SRC) - это инструмент тестирования, который позволяет вам писать автоматические тесты пользовательского интерфейса веб-приложения на любом языке программирования для любого веб-сайта HTTP, используя любой основной браузер с поддержкой JavaScript.
SRC предоставляет Selenium Server, который может автоматически запускать / останавливать / контролировать любой поддерживаемый браузер. Он работает с использованием Selenium Core, библиотеки чистого HTML + JS, которая выполняет автоматизированные задачи в JavaScript; сервер Selenium взаимодействует напрямую с браузером с помощью AJAX (XmlHttpRequest).
После того, как вы загрузили и установили сервер Selenium (Java-приложение), вы можете использовать модуль WWW::Seletion
для управления сервером, который будет использовать браузеры для взаимодействия со сложными веб-сайтами с поддержкой JavaScript.
С экземпляром класса WWW::Selenium
my $sel = WWW::Selenium->new(
host => "localhost",
port => 4444,
browser => "*iexplore",
browser_url => "http://www.google.com",
);
Практически любой вид взаимодействия с веб-сайтом становится возможным. Нужно определить locator , чтобы точно определить элемент на странице, чтобы выдать команду (select, click, ...).
Подробную справку вы найдете в документации к модулю.