我一直在编写一段代码,使用的是使用Selify的python语言,它应该可以访问网页并下载pdf.但是,当驱动程序点击按钮时,它会生成一个带有PDF的新选项卡,而我无法使用该URL下载PDF. 有谁能帮帮我吗?
(例如:如果我要求我的驱动程序"获取"PDF"URL",驱动程序将打开我之前的页面,即它具有打开PDF Chrome预览器的按钮的页面).
如果这个问题看起来可以理解,请告诉我,这样我就可以更好地解释它.
我一直在编写一段代码,使用的是使用Selify的python语言,它应该可以访问网页并下载pdf.但是,当驱动程序点击按钮时,它会生成一个带有PDF的新选项卡,而我无法使用该URL下载PDF. 有谁能帮帮我吗?
(例如:如果我要求我的驱动程序"获取"PDF"URL",驱动程序将打开我之前的页面,即它具有打开PDF Chrome预览器的按钮的页面).
如果这个问题看起来可以理解,请告诉我,这样我就可以更好地解释它.
似乎Chrome的默认配置是出于安全原因禁用下载.您可以在选项中更改此设置.我附上了一个基于Arxiv的工作示例,它具有安全的pdf下载:
options = webdriver.ChromeOptions()
options.add_experimental_option('prefs', {
"download.default_directory": os.path.join(os.getcwd(),"Downloads"), #Set directory to save your downloaded files.
"download.prompt_for_download": False, #Downloads the file without confirmation.
"download.directory_upgrade": True,
"plugins.always_open_pdf_externally": True #Disable PDF opening.
})
driver = webdriver.Chrome(os.path.join(os.getcwd(),"Downloads","chromedriver"),options=options) #Replace with correct path to your chromedriver executable.
driver.get("https://arxiv.org/list/hep-lat/1902") #Base url
driver.find_elements(By.XPATH,"/html/body/div[5]/div/dl/dt[1]/span/a[2]")[0].click() #Clicks the link that would normally open the PDF, now download. Change to fit your needs