我對使用 selenium 和 mozilla firefox 的 python 腳本有疑問。當腳本下載我想要的檔案并完成該程序時,mozilla 會在我的視窗右上角打開下載對話框,告訴我下載已完成。我需要關閉該視窗,但我無法關閉視窗并完成腳本。
我能做什么?
from selenium import webdriver
import unittest
from selenium.webdriver.common.keys import Keys
import time
import requests
#################################################################################
options = webdriver.FirefoxOptions()
options.set_preference("browser.download.manager.showAlertOnComplete", False)
options.set_preference("browser.download.panel.shown", False)
options.set_preference("browser.download.animateNotifications", False)
options.set_preference("browser.helperApps.alwaysAsk.force", False)
options.set_preference("browser.download.manager.showWhenStarting", False)
options.set_preference(
"browser.helperApps.neverAsk.saveToDisk",
(
"application/pdf, application/zip, application/octet-stream, "
"text/csv, text/xml, application/xml, text/plain, "
"text/octet-stream, application/x-gzip, application/x-tar "
"application/"
"vnd.openxmlformats-officedocument.spreadsheetml.sheet"
),
)
###############################################################################3
browser=webdriver.Firefox(options=options)
browser.get('http://10.1.0.100:4025/accounts/login/?next=/')
time.sleep(3)
id_box=browser.find_element("id","id_username")
id_box.send_keys('admin')
time.sleep(1)
pass_box=browser.find_element("id","id_password")
pass_box.send_keys('changeme')
time.sleep(1)
login_button = browser.find_element("name","submit")
time.sleep(1)
login_button.click()
time.sleep(1)
browser.get("http://10.1.0.100:4025/backup/list")
time.sleep(4)
generate_button=browser.find_element("id","generate")
generate_button.click()
alert = browser.switch_to.alert
try:
alert.accept() #If you want to Accept the Alert
except:
alert.dismiss() #If You want to Dismiss the Alert.
time.sleep(25)
browser.get("http://10.1.0.100:4025/backup/download/all")
time.sleep(5)
################################################
################################################
time.sleep(5)
browser.close()
uj5u.com熱心網友回復:
有很多方法可以更改 Firefox 上的默認下載行為。您可以使用以下選項來完全阻止該下載視窗出現:
from selenium import webdriver
options = webdriver.FirefoxOptions()
options.set_preference("browser.download.manager.showAlertOnComplete", False)
options.set_preference("browser.download.panel.shown", False)
options.set_preference("browser.download.animateNotifications", False)
options.set_preference("browser.helperApps.alwaysAsk.force", False)
options.set_preference("browser.download.manager.showWhenStarting", False)
options.set_preference(
"browser.helperApps.neverAsk.saveToDisk",
(
"application/pdf, application/zip, application/octet-stream, "
"text/csv, text/xml, application/xml, text/plain, "
"text/octet-stream, application/x-gzip, application/x-tar "
"application/"
"vnd.openxmlformats-officedocument.spreadsheetml.sheet"
),
)
driver = webdriver.Firefox(options=options)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/512896.html
