繁体   English   中英

如何使用Selenium Python Webdriver下载PDF文件?

[英]How to download a PDF file with selenium python webdriver?

网址: 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()

从评论转移到答案:

您似乎正在尝试在PDF中查找XML元素。 PDF与HTML不同,它不会与XML重叠,因此无法正常工作。

如果您在浏览器中访问PDF时显示的下载图标不是该网页的一部分,因此即使PDF是XML,也无法使用。 另外,很有可能有多个图标,在这种情况下,您可能单击的是错误的东西,并且可能无法单击(如果您将其用于某些非PDF的东西,并且具有下载按钮,实际网页)。

要从网站下载PDF ...您不需要使用网络驱动程序(或任何Python)。 如果您在UNIX上,只需在shell脚本中使用curl加载它即可。 可能有一个等效的Windows,但我不知道。 如果您出于某种原因想要使用Python,则urllib.request (Python 3)或urllib2 (Python 2)都可以使用。

或者,如果确实是那个网站,那么您根本不需要运行自动程序-只需右键单击链接,然后选择“将链接另存为...”或在大多数浏览器中都可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM