python - 防止 Python webbrowser.open() 控制屏幕并阻止其他进程。是否可以最小化打开?
问题描述
我在循环中使用 webbroswer.open() 以给定的时间间隔下载多个文件。
我遇到的问题是,每当浏览器窗口打开时,它就会成为主窗口,从而中断和破坏我使用计算机的能力。下载多个文件意味着这可能会持续一段时间。不断闪烁打开的浏览器显然很刺耳。
有什么方法可以指示 webbrowser 打开默认最小化的浏览器,或者以其他巧妙的方式避免这个问题?
非常感激!
解决方案
如果您愿意使用其他模块,我会敦促您研究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 浏览器!
推荐阅读
- c# - 使用 Autofac 上的配置注册更多 AmazonS3Client
- kotlin - 如何使用 Kotlin 生成特定范围内的随机双精度值?
- c++ - How to insert multiple rows wih QT Sqlite?
- python-3.x - Python / BeautifulSoup / Selenium 网页抓取 - 无法查看内容
- javascript - Crypto-js 本地端到 php 服务器端
- javascript - Tabs clicking work on chrome but not in firefox
- java - Keep bluetooth service running for all fragments
- node.js - NodeJS exec/spawn stdout 在 8192 个字符处切断流
- selenium - How to set remote drive path to chrome download path in my local system in selenium using JAVA
- javascript - Angular 6 Form没有将变量传递给URL