Как мы можем автоматизировать окно загрузки на основе браузера, используя CasperJS

Я застрял в следующем сценарии. Сценарий таков, что на моей веб-странице есть несколько файлов, и мне нужно их скачать. Когда я нажимаю кнопку загрузки, открывается окно загрузки. И как автоматизировать эту вещь. Я использую CasperJS и SlimerJS.... ниже HTML-код

<ul class="dropdown-menu">
<li>
<li>
<li>
<li>
<a id="export_notebook_gist" href="#">Export Notebook to File</a>
</li>
<li>
<li>
<li>
<li>
</ul>
</ul>

1 ответ

Вы можете использовать функцию загрузки Каспера, чтобы загрузить ресурс с целевой страницы. Все, что вам нужно сделать, это найти URL ресурса, который связан с кнопкой загрузки, и передать его в функцию загрузки Каспера.

вот пример

 //Download a PDF report
 casper.then(function() { 
    var fs  = require('fs'); 
    var dataurl = this.findElUrl('#_2a7a2a0a2a1a0a'); // This is a jQuery function that finds the PDF file's url.

    var file =  new Date().getTime() + '.pdf';
    var fileloc = apppath + 'reports/' + file;

    self.download(dataurl, fileloc); // will download PDF to the specified directory
});

И функция, чтобы найти PDF-URL-адрес

casper.findElUrl = function(selector){
var test = this.evaluate(function(selector) {
    return $(selector).data('url');
},selector);
return test;
}

Кстати, вы должны внедрить jQuery на целевую страницу, используя клиентский скрипт casper следующим образом.

var casper = require('casper').create({
pageSettings: {
    webSecurityEnabled: false,
    loadImages:  false,
    loadPlugins: false
},

clientScripts: ["./jquery.min.js"]
});

надеется, что это поможет..

Другие вопросы по тегам