在后台打开网络浏览器

Open webbrowser in background

如何在不改变 window 焦点的情况下使用我的默认网络浏览器在后台打开 URL?

换句话说,我想在打开网络浏览器时留在终端中。

我尝试了 webbrowser 模块但没有成功。

Python 3.8.1 (default, Jan 17 2020, 10:45:46)
>>> import webbrowser
>>> webbrowser.open("https://whosebug.com", autoraise=False)

是否有解决此问题的简单方法,还是 Mac OS 问题?

您可以尝试代替网络浏览器模块:

import subprocess

url = subprocess.getoutput("google-chrome-stable https://whosebug.com")
url

您可以使用 subprocess.check_output 并将终端命令作为数组传递:

在 mac 终端打开命令将为您完成工作

import subprocess
#subprocess.check_output(['ls','-l']) #all that is technically needed...
#in open documention in terminal you can use --hide to run in background
print subprocess.check_output(['open','http://google.com/','--hide'])

您应该使用 selenium 并下载 chrome 驱动程序,并为您的 chrome 浏览器添加 headless 选项。

from selenium import webdriver
import time


chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--disable-notifications')
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(executable_path="/Users/mypc/Downloads/chromedriver-2",options=chrome_options)

# or you can use Chrome(executable_path="/usr/bin/chromedriver")

driver.get("https://www.instagram.com/accounts/login/")
time.sleep(2)