首页 > 解决方案 > 使用 chromedriver 下载生成的 PDF

问题描述

你好我是新的网络抓取。我正在尝试使用谷歌网络潜水员单击链接以下载蝙蝠侠电影脚本,但我遇到了一些错误。我在某处读到,因为文件是生成的而不是存储在数据库中,因此可能无法通过网络抓取工具下载它。谁能帮我?
我在 google colab 上有以下 python 脚本:

!pip install selenium
!apt-get update 
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
import sys
sys.path.insert(0,'/usr/lib/chromium-browser/chromedriver')
from selenium import webdriver

download_url = 'https://www.studiobinder.com/blog/batman-begins-script-screenplay-pdf-download'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
wd = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
wd.get(download_url)
button = wd.find_element_by_tag_name("Download PDF")
button.click()
wd.close()

标签: pythonselenium-chromedriver

解决方案


Download PDF该网页上没有与标签名称匹配的元素。
这就是为什么您的wd.find_element_by_tag_name("Download PDF")代码行显然会引发异常的原因。如果不是,button将是一个NoneType没有click()方法的对象。


推荐阅读