我希望直接下载PDF,而不显示在Chrome的pdf视图插件中 我发现的Python代码是
chromeOptions = webdriver.ChromeOptions()
prefs = {"plugins.plugins_disabled" : ["Chrome PDF Viewer"]}
chromeOptions.add_experimental_option("prefs",prefs)
driver=webdriver.Chrome('/usr/lib/chromium-browser/chromedriver', chrome_options=chromeOptions)
chromeOptions没有add_experimental_option函数/方法P。 请问有什么方法可以完成这项工作。
答案 0 :(得分:1)
以下是初始化chrome选项的正确方法:
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
我相信这是您的问题。我测试了这段代码,它对我有用:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
prefs = {"plugins.plugins_disabled" : ["Chrome PDF Viewer"]}
chrome_options.add_experimental_option("prefs",prefs)
driver=webdriver.Chrome(chrome_options=chrome_options)
有关更多信息,您可以阅读关于Chrome WebDriver API for Selenium的文档here
答案 1 :(得分:0)
无论出于何种原因,都不会出现方法add_experimental_option。可能是因为我正在使用Linux安装。我的目标是自动下载一系列PDF。一种解决方法是,首先使用click()命令找到一个Web元素,以在pdf查看器中获取PDF。这会将PDF加载到查看器中,然后读取URL栏的内容,使用PDF地址调用运行dowload命令“ wget”的Linux操作系统来获取PDF文件。那就是:
driver.find_element_by_class_name('browzine-direct-to-pdf-link').click()
pdfAddress=driver.current_url
os.system("wget %s -P /home/keir/Downloads/pdfs" % pdfAddress)