【问题标题】:Cannot download anything with Python Selenium Chrome Ubuntu 20.04无法使用 Python Selenium Chrome Ubuntu 20.04 下载任何内容
【发布时间】:2020-07-16 21:05:09
【问题描述】:

我无法在 Python 中以无头模式使用 Selenium Chrome 下载文件。我在这里检查了一些答案,其中大多数是相同的。他们谈论添加首选项和实验选项。

Download with python selenium

Selenium Webdriver: How to Download a PDF File with Python?

Downloading a PDF using Selenium, Chrome and Python

Downloading with chrome headless and selenium

这些都没有帮助,我开始怀疑这是否与我的环境有关。

Ubuntu:20.04

Python:3.8.2

Chrome 浏览器: 铬 80.0.3987.162 快照

Cromium 驱动程序: ChromeDriver 80.0.3987.162 (f2c5dd6138153bb0658091205bd1a1717f16081a-refs/branch-heads/3987@{#1034})

这是一段基本的示例代码,它不起作用。它完成时没有任何错误,但文件永远不会下载。

#!/usr/bin/env python3

import os
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

IMG_DIR = '/images/'
if not os.path.exists(IMG_DIR):
  os.makedirs(IMG_DIR)

options = Options()
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("--disable-setuid-sandbox")
options.add_argument("--window-size=1920,1080")

prefs = {"download.default_directory" : IMG_DIR}
options.add_experimental_option("prefs",prefs)

driver = webdriver.Chrome(options=options, executable_path='chromedriver')

driver.get('https://www.thinkbroadband.com/download')

#Find the Extra Small file on port 80
download_button = driver.find_element_by_xpath('//*[@id="main-col"]/div/div/div[8]/p[2]/a[1]')

driver.execute_script("arguments[0].scrollIntoView();", download_button)
download_button.click()
time.sleep(10)
driver.save_screenshot('{}page.png'.format(IMG_DIR))

driver.get('chrome://downloads')
time.sleep(10)
driver.switch_to.window(driver.window_handles[-1])
driver.save_screenshot('{}downloads.png'.format(IMG_DIR))

driver.close()
driver.quit()

我附上了两张截图,但下载页面总是显示为空白页。

测试文件下载地址:

Chrome 下载页面:

请帮忙!

更新:我已经删除了 chrome 的 snap 版本,它似乎工作得更好。我可以将文件下载到自定义目录。一定是 snap 版本的 bug。

【问题讨论】:

    标签: python selenium google-chrome selenium-webdriver


    【解决方案1】:

    我刚刚提交了a bug on this。正如您从文章中看到的那样,问题在于 Snap 使用的下载文件夹指向 Snap 设置,并且完全忽略了您的 IMG_DIR 设置。

    您应该能够通过在下载点停止测试并直接在浏览器“下载”中查看下载目标文件夹来确认这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 2020-09-10
      • 2021-01-28
      • 2019-05-25
      • 2019-04-12
      相关资源
      最近更新 更多