首页 > 解决方案 > 防止 Python webbrowser.open() 控制屏幕并阻止其他进程。是否可以最小化打开?

问题描述

我在循环中使用 webbroswer.open() 以给定的时间间隔下载多个文件。

我遇到的问题是,每当浏览器窗口打开时,它就会成为主窗口,从而中断和破坏我使用计算机的能力。下载多个文件意味着这可能会持续一段时间。不断闪烁打开的浏览器显然很刺耳。

有什么方法可以指示 webbrowser 打开默认最小化的浏览器,或者以其他巧妙的方式避免这个问题?

非常感激!

标签: pythonpython-3.xpython-2.7browserwebbrowser-control

解决方案


如果您愿意使用其他模块,我会敦促您研究selenium. 这使您可以做很多事情,其中​​之一是以无头模式启动(以免在加载页面时打扰您)。文档位于:

https://selenium-python.readthedocs.io/

你会对无头选项感兴趣

建议您在启用它之前确保您的脚本在没有启用此功能的情况下工作。

示例代码:

import selenium
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

my_options = Options()
my_options.headless = True # set to False for debugging!!

browser = webdriver.Chrome(options=my_options)
browser.get('http://www.google.com')
print('Done.')

您需要为您想要的任何浏览器下载正确的驱动程序(只需按照我发布的链接上的说明进行操作)。我选择了 Chrome,但他们也有 Edge、Firefox 和 Safari 浏览器!


推荐阅读