在使用Selenium保存PDF文件时,可以通过设置自定义目录来指定保存的路径。以下是设置自定义目录以输出Selenium保存的PDF文件的步骤:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 设置自定义目录
download_dir = '/path/to/custom/directory'
# 配置Chrome选项
chrome_options = Options()
chrome_options.add_argument('--headless') # 无头模式,可选
chrome_options.add_argument('--disable-gpu') # 禁用GPU加速,可选
chrome_options.add_argument('--no-sandbox') # 以沙盒模式运行,可选
chrome_options.add_argument('--disable-dev-shm-usage') # 禁用/dev/shm使用,可选
chrome_options.add_argument('--disable-extensions') # 禁用扩展,可选
chrome_options.add_argument('--disable-infobars') # 禁用信息栏,可选
chrome_options.add_argument('--disable-popup-blocking') # 禁用弹出窗口拦截,可选
chrome_options.add_argument('--disable-logging') # 禁用日志记录,可选
chrome_options.add_argument('--disable-notifications') # 禁用通知,可选
chrome_options.add_argument('--disable-default-apps') # 禁用默认应用,可选
chrome_options.add_argument('--disable-background-networking') # 禁用后台网络,可选
chrome_options.add_argument('--disable-background-timer-throttling') # 禁用后台定时器限制,可选
chrome_options.add_argument('--disable-backgrounding-occluded-windows') # 禁用后台窗口,可选
chrome_options.add_argument('--disable-breakpad') # 禁用Breakpad错误报告,可选
chrome_options.add_argument('--disable-client-side-phishing-detection') # 禁用客户端钓鱼检测,可选
chrome_options.add_argument('--disable-component-extensions-with-background-pages') # 禁用后台扩展,可选
chrome_options.add_argument('--disable-default-apps') # 禁用默认应用,可选
chrome_options.add_argument('--disable-dev-shm-usage') # 禁用/dev/shm使用,可选
chrome_options.add_argument('--disable-extensions') # 禁用扩展,可选
chrome_options.add_argument('--disable-features=VizDisplayCompositor') # 禁用VizDisplayCompositor特性,可选
chrome_options.add_argument('--disable-hang-monitor') # 禁用挂起监视器,可选
chrome_options.add_argument('--disable-ipc-flooding-protection') # 禁用IPC洪水保护,可选
chrome_options.add_argument('--disable-popup-blocking') # 禁用弹出窗口拦截,可选
chrome_options.add_argument('--disable-prompt-on-repost') # 禁用重新提交时的提示,可选
chrome_options.add_argument('--disable-renderer-backgrounding') # 禁用渲染器后台运行,可选
chrome_options.add_argument('--disable-software-rasterizer') # 禁用软件光栅化器,可选
chrome_options.add_argument('--disable-speech-api') # 禁用语音API,可选
chrome_options.add_argument('--disable-sync') # 禁用同步,可选
chrome_options.add_argument('--disable-translate') # 禁用翻译,可选
chrome_options.add_argument('--disable-webgl') # 禁用WebGL,可选
chrome_options.add_argument('--disable-web-security') # 禁用Web安全,可选
chrome_options.add_argument('--disk-cache-dir=/dev/null') # 禁用磁盘缓存,可选
chrome_options.add_argument('--dns-prefetch-disable') # 禁用DNS预取,可选
chrome_options.add_argument('--enable-automation') # 启用自动化,可选
chrome_options.add_argument('--ignore-certificate-errors') # 忽略证书错误,可选
chrome_options.add_argument('--no-proxy-server') # 不使用代理服务器,可选
chrome_options.add_argument('--window-size=1920,1080') # 设置窗口大小,可选
chrome_options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36') # 设置用户代理,可选
chrome_options.add_argument('--disable-features=VizDisplayCompositor') # 禁用VizDisplayCompositor特性,可选
chrome_options.add_argument('--disable-gpu-program-cache') # 禁用GPU程序缓存,可选
chrome_options.add_argument('--disable-gpu-shader-disk-cache') # 禁用GPU着色器磁盘缓存,可选
chrome_options.add_argument('--disable-gpu-sandbox') # 禁用GPU沙盒,可选
chrome_options.add_argument('--disable-gpu-vsync') # 禁用GPU垂直同步,可选
chrome_options.add_argument('--disable-gpu-watchdog') # 禁用GPU看门狗,可选
chrome_options.add_argument('--disable-logging') # 禁用日志记录,可选
chrome_options.add_argument('--disable-notifications') # 禁用通知,可选
chrome_options.add_argument('--disable-popup-blocking') # 禁用弹出窗口拦截,可选
chrome_options.add_argument('--disable-software-rasterizer') # 禁用软件光栅化器,可选
chrome_options.add_argument('--disable-sync') # 禁用同步,可选
chrome_options.add_argument('--disable-translate') # 禁用翻译,可选
chrome_options.add_argument('--disable-webgl') # 禁用WebGL,可选
chrome_options.add_argument('--disable-web-security') # 禁用Web安全,可选
chrome_options.add_argument('--disk-cache-dir=/dev/null') # 禁用磁盘缓存,可选
chrome_options.add_argument('--dns-prefetch-disable') # 禁用DNS预取,可选
chrome_options.add_argument('--enable-automation') # 启用自动化,可选
chrome_options.add_argument('--ignore-certificate-errors') # 忽略证书错误,可选
chrome_options.add_argument('--no-proxy-server') # 不使用代理服务器,可选
chrome_options.add_argument('--window-size=1920,1080') # 设置窗口大小,可选
chrome_options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36') # 设置用户代理,可选
# 设置下载目录
prefs = {
'download.default_directory': download_dir,
'download.prompt_for_download': False,
'download.directory_upgrade': True,
'plugins.always_open_pdf_externally': True
}
chrome_options.add_experimental_option('prefs', prefs)
# 创建Chrome浏览器实例
driver = webdriver.Chrome(options=chrome_options)
在上述代码中,download_dir
变量指定了自定义目录的路径,可以根据实际需求进行修改。
time.sleep()
方法等待一定的时间。通过以上步骤,您可以设置自定义目录以输出Selenium保存的PDF文件。请注意,以上代码示例中的Chrome浏览器选项和偏好设置是为了提供更好的下载体验和避免弹出窗口拦截,您可以根据实际需求进行调整。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体的产品选择和推荐应根据实际需求和情况进行评估。
领取专属 10元无门槛券
手把手带您无忧上云