使用 Selenium 和 Python 在 Chrome 上阻止下载

Blocking downloads on Chrome using Selenium with Python

我使用 seleniumpython 上制作了一个简单的机器人,用于研究网站中的特定内容和 returns 给用户一个特定的结果。但是,该网站有一个广告,每次我点击页面元素,或点击 ENTER 前进(或本例中的机器人点击)时,它都会下载一个文件。我只是在 运行 改进机器人时进行了几次测试后才发现这一点。我试过手动操作,同样的事情发生了,所以这是网站本身的问题。

但我猜有一种方法可以完全阻止下载,因为它会自动保存该文件。我认为这没有太大区别,但这是触发下载的原因:

driver.find_element(By.ID, "hero-search").send_keys(Keys.ENTER)

我不能绕过那个,因为我需要前进到下一页。那么,有没有办法在 selenium 上阻止它?

您可以使用 chrome 首选项阻止下载:

from selenium import webdriver

options = webdriver.ChromeOptions()

prefs = {
    "download.prompt_for_download", false,
    "download_restrictions": 3,
}
options.add_experimental_option(
    "prefs", prefs
)
driver = webdriver.Chrome(
    options=options
)
driver.get(
"https://www.an_url.com"
)
driver.close()