gpt4 book ai didi

python - Headless Python Selenium MacOS 通过 Chromium 单击/下载文档

转载 作者:行者123 更新时间:2023-12-01 00:28:27 26 4
gpt4 key购买 nike

关于这个话题有很多内容。然而,到目前为止,我还没有发现任何可行的涉及使用上面标题中所说的内容和下面列出的配置。

这是我正在尝试做的事情:转到此webpage然后单击 csv 文档图标进行下载(通过 xpath 或 css 选择器)。任一图标都可以 - 它们下载相同的内容。

下面的源代码概述了我到目前为止所做的事情。该脚本运行没有问题,但没有下载任何文档 - 我该如何解决此问题?

请注意操作系统、Python、ChromeDriver 和 Chrome 配置的以下参数:

macOS Mojave v.10.14.6、Python v.3.7.3、ChromeDriver v.770386540、Chrome v.770386540

from selenium import webdriver

options = webdriver.ChromeOptions()

prefs = {"download.default_directory": "SOME_PATH"}
options.add_experimental_option("prefs", prefs)
options.binary_location = 'PATH_TO_CHROME'
options.add_argument('headless')

# set the window size
options.add_argument('window-size=1200x600')

# initialize the driver
driver = webdriver.Chrome('PATH_TO_CHROME_DRIVER',
options=options)

page_url = 'http://webapps.rrc.texas.gov/eds/eds_searchUic.xhtml'
button = '//*[@id="SearchUicForm:searchTable_paginator_top"]/a[7]'

driver.get(page_url)

# wait up to 10 seconds for the elements to become available
driver.implicitly_wait(5)

driver.find_element_by_xpath(button).click()

最佳答案

您可以注释这行代码options.add_argument('headless')并查看浏览器中发生了什么。它基本上是单击 cvs 图标,然后在浏览器中弹出一个下载窗口,因此我们需要处理此弹出窗 Eloquent 能下载。我们可以添加 Chrome 选项来防止这种情况。

options = Options()
options.add_experimental_option("prefs", {
"download.default_directory": r"C:\Users\xxx\downloads\Test",
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": True
})
driver = webdriver.Chrome(chrome_options=options)

关于python - Headless Python Selenium MacOS 通过 Chromium 单击/下载文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58366477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com