多个PDF下载

时间:2019-02-27 05:07:03

标签: javascript

我有一个本地数据库表,其中保存了大约15000个PDF链接。我想一键下载所有PDF,但是我的问题是打开的PDF无法下载。我正在尝试这种方法。

const webdriver=require('selenium-webdriver'); // selenium webdriver
const chromedriver=require('chromedriver'); // chrome driver
const by=webdriver.By;
const untill=webdriver.until;

const driver=new webdriver.Builder().forBrowser('chrome').build();
driver.get('https://www.example.com/sell-my-cell-phone/sell-my-samsung/');
driver.findElements(by.className('LaptopBox')).then((rst)=>{
    rst.forEach((el)=>{
        driver.wait(untill.elementsLocated(by.tagName('a')))
        let btn=el.findElement(by.tagName('a'));
        btn.click();
        console.log("abc")
    });
});

2 个答案:

答案 0 :(得分:4)

不能仅单击1次下载所有文件。代替您可以在PHP中使用ZIP存档类。

为所有可用的pdf文件制作一个zip文件并下载。

[self.navigationController.navigationBar setBarTintColor:[UIColor blackColor]];
[self.navigationController.navigationBar setTranslucent:NO];

标题一样

$files = array('pdf1.pdf','pdf2.pdf');
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);

  foreach ($files as $file) {
    $zip->addFile($file);
  }

  $zip->close();

答案 1 :(得分:0)

感谢您的回复, 此代码适用于zip存档

$files = array('pdflink','pdflink');
$zip = new ZipArchive();
$tmp_file = tempnam('.','');
$zip->open($tmp_file, ZipArchive::CREATE);

foreach($files as $file){
    $download_file = file_get_contents($file);
    $zip->addFromString(basename($file),$download_file);
}   
$zip->close();
header('Content-disposition: attachment; filename=file.zip');
header('Content-type: application/zip');
readfile($tmp_file);

?>