当前位置: 首页 > 知识库问答 >
问题:

无法用Python Selenium Chrome Ubuntu 20.04下载任何内容

高皓
2023-03-14

我很难在Python中用Selenium Chrome下载文件,并使用headless模式。我在这里检查了几个答案,大多数都是一样的。他们谈论增加偏好和实验选项。

使用python selenium下载

Selenium WebDriver:如何用Python下载PDF文件?

Ubuntu:20.04

Python:3.8.2

Chromeium-Browser:Chromium 80.0.3987.162快照

#!/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的快照版本,它似乎工作得更好了。我可以将文件下载到自定义目录。一定是snap版本的bug。

共有1个答案

岑光熙
2023-03-14

我刚刚在这上面记录了一个窃听器。正如您从写文件中看到的,问题是Snap使用的下载文件夹指向Snap设置,完全忽略了IMG_DIR设置。

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

 类似资料:
  • 我不知道发生了什么事。我正在使用Android Studio,我创建了一个新的空白项目。 如果我尝试编辑现有的4个导入,它会变成红色,然后将所有内容切换回这4个。 我不知道发生了什么。

  • 我将目标文件(target.mp4)推送到vps,登陆vps后, 在vps上制作好了种子文件,将这个种子文件target.mp4.torrent发送给朋友后,为何他无法下载? 我自己也测试了,无法下载!我的vps上需要开放哪些端口,让别人可以来下载? tracker服务器,我写了100多个!绝对不是这个原因!命令行简化了。

  • 无法完成安装,因为找不到一个或多个必需的项目。 正在安装的软件:TestNG M2E(Maven)Integration(可选)6.13.0.201712040650(org.TestNG.eclipse.Maven.feature.feature.group 6.13.0.201712040650)缺少要求:TestNG M2E(Maven)Integration 6.13.0.20171204

  • 我需要在IBM Maximo项目上进行测试自动化。 我在网上找到了它:https://www.ibm.com/developerworks/community/forums/html/topic?id=4d90a532-31a3-41bd-a128-2186fdae50b8,我尝试使用它。 该程序启动了google chrome,但在关闭后几分钟就停止了。 这是日志,我不知道该怎么办: 感谢每一个

  • 大约一个小时后,我无法通过下载URL属性检索文件内容。

  • 可从PlayStation®Store购买游戏、下载游戏最新的免费体验版或宣传影片。 若要使用(PS Store),需先注册PlayStation®Network账号。即使未使用PS Vita注册PlayStation®Network也可阅览PlayStation®Store。下载内容时需先注册,请遵循显示的画面注册。 PlayStation®Network和PlayStation®Store的提