Попытка автоматизировать сканирование некоторых сайтов и особенно загрузку файлов с помощью perl & Firefox :: Marionette .
Это краткий пример кода (для загрузки файла).
#!/usr/bin/env perl
use 5.014;
use warnings;
use Firefox::Marionette();
use Path::Tiny;
my $ff = Firefox::Marionette->new();
#my $ff = Firefox::Marionette->new(
# visible => 1
#);
#my $dwl = 'https://www.curseforge.com/wow/addons/dazaralor-totems/download/2610166/file'; # direct download link (not work correctly)
my $dwl = 'https://www.curseforge.com/wow/addons/dazaralor-totems/download/2610166'; # download link, leading to redirect page
$ff->go($dwl);
while(!$ff->downloads()) { sleep 1 }
while($ff->downloading()) { sleep 1 }
foreach my $p ($ff->downloads()) {
say $p;
path($p)->copy('./toto.zip');
}
$ff->quit;
Запускает скрипт, зависает. Итак, попытался visible => 1
, чтобы получить реальное окно, и скрипт зависает, поскольку ожидает подтверждения диалога открытия / сохранения, как показано на рисунке ниже:
После нажатия кнопки ОК файл загружается.
Вопрос в том, как обойти диалоговое окно подтверждения, чтобы можно было запускать сценарий в автономном режиме без ручного нажатия.
Также Любой другой способ загрузки файлов с вышеуказанного сайта приветствуется, он стоит за cloudflare, поэтому я не смог использовать некоторые базовые c LWP
.