如何使用selenium python webdriver下载PDF文件?

2024-10-03 23:29:51 发布

您现在位置:Python中文网/ 问答频道 /正文

网址:http://mbct.com/wp-content/uploads/Eisendrath-Jan-2016.pdf

错误:找不到元素

也许这是因为下载图标会在我不做什么的时候消失?在

这是我的代码:

# coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys  
import time
import os
site = 'http://mbct.com/wp-content/uploads/Eisendrath-Jan-2016.pdf'
br = webdriver.Chrome()
br.get(site)
br.find_element_by_xpath('//*[@id="icon"]').click()

Tags: frombrimportcomhttppdfseleniumcommon
1条回答
网友
1楼 · 发布于 2024-10-03 23:29:51

从评论转到回答:

您似乎试图在PDF中查找XML元素。与HTML不同,PDF与XML不重叠,所以这行不通。在

如果您在浏览器中访问PDF文件,则显示的下载图标不是网页的一部分,因此即使PDF是XML,也无法使用。此外,还有一个很好的机会,有一个以上的图标,在这种情况下,你可能会点击错误的东西,它可能是不可点击的(如果你是使用这个非PDF的东西与下载按钮在实际网页上)。在

要从网站下载PDF。。。你不应该使用webdriver(或者任何Python)。如果您使用的是UNIX,只需在shell脚本中加载curl。可能有一个简单的Windows等价物,但我不知道。如果出于任何原因想使用Python,urllib.request(python3)或{}(python2)都可以。在

或者,如果真的只是那个网站,你根本不需要运行一个自动程序-只需右键单击链接并选择“将链接另存为…”或在大多数浏览器中同等的。在

相关问题 更多 >