我有一个本地数据库表,其中保存了大约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")
});
});
答案 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);
?>