使用 Github Action 使用 Selenium 下载文件

问题描述 投票:0回答:1

我有一个使用 Selenium 来下载文件的 Python 脚本。它可以在本地运行,但我希望使用 Github Actions 来运行脚本。我相信问题出在

download.default_directory
。根据我的理解和本地测试,我必须在运行 Headless Chrome 时指定下载目录。我验证了这个位置是工作目录,但是,当我尝试使用 Pandas 读取该文件时,它显示
the file doesn't exist
。通过在本地运行,我知道文件名是静态的 -
data.xls
。我正在使用 Windows 来运行 Github Action。我尝试使用 Ubuntu,但在查找下载的文件时遇到同样的问题。下载的文件有存放位置吗?

chromedriver_autoinstaller.install()
chrome_options = Options()

chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")

chrome_prefs = {"download.default_directory": "D:\\a\\ariba\\ariba"}
chrome_options.experimental_options["prefs"] = chrome_prefs

driver = webdriver.Chrome(options=chrome_options)

....

data = pd.read_excel("D:\\a\\ariba\\ariba\\data.xls")
python selenium github-actions
1个回答
0
投票

本地计算机和 github 计算机中的位置有所不同。尝试使用相对路径下载目录并使用相同的方式读取它 如果您提供下载作为目录名称,所有文件将保存在下载目录下,您可以使用相对位置从那里读取它

download_dir = 'downloads'

chrome_prefs = {"download.default_directory": download_dir}

file_path = os.path.join(os.getcwd(), download_dir, 'data.xls')
© www.soinside.com 2019 - 2024. All rights reserved.