gpt4 book ai didi

Python Webbrowser 模块永远不会在新窗口中打开链接

转载 作者:行者123 更新时间:2023-12-05 07:16:27 28 4
gpt4 key购买 nike

我试图自动打开多个用户配置文件,给定几个不同网站上的名称列表,但我找不到在新窗口中打开链接的方法,这意味着我无法对我打开的不同网站进行排序自己的橱窗收藏。

这是我的代码:

import webbrowser


chrome_path="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"
firefox_path="C:\\Program Files\\Mozilla Firefox\\Firefox.exe"
strURL = "http://www.python.org"


webbrowser.register('chrome', None,webbrowser.BackgroundBrowser(chrome_path),1)
webbrowser.register('firefox', None,webbrowser.BackgroundBrowser(chrome_path),1)

webbrowser.open(strURL, new=0)
webbrowser.open(strURL, new=1)
webbrowser.open(strURL, new=2)
webbrowser.get('chrome').open(strURL)
webbrowser.get('firefox').open(strURL)
webbrowser.get('chrome').open_new(strURL)
webbrowser.get('firefox').open_new(strURL)

无论我为新设置什么值(0、1 或 2),所有发生的事情都是它在我单击的最后一个窗口中打开一个新选项卡。我已经尝试了我在 webbrowser 模块的 python 文档中找到的所有其他方法,网上的每个人都只是说使用“new=1”或 webbroswer.open_new() 但这些都不起作用。甚至当我将它指向 firefox 时,它也会转到 chrome。

附言

我发现了一个我并不完全满意的小解决方法。

import webbrowser


chrome_path = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s"
chrome_path_NW = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s --new-window"
firefox_path = "C:\\Program Files\\Mozilla Firefox\\Firefox.exe"
strURL = "http://www.python.org"

controller = webbrowser.get(chrome_path)
controllerNW = webbrowser.get(chrome_path_NW)

controllerNW.open(strURL, new=0)
controller.open(strURL, new=1)
controller.open(strURL, new=2)
controller.open("www.youtube.com", new=2)

要注意的重要事项是“chrome_path”变量。我已经更改了它,因此它将作为命令运行并接受参数。我在这里找到了一些关于 chromium 的启动参数,它们似乎也适用于 chrome。 “--new-window” 将打开一个新窗口,然后我可以在该窗口中打开更多选项卡,但这是 pythons 模块的总体解决方法,我不确定如果我在运行时尝试使用 chrome,它不会中断脚本。如果有任何功能可以让我将链接组合在一起以在特定窗口中打开,那将对我更有用。

最佳答案

我意识到这有点晚了,但希望我能在未来帮助别人。基本上你需要使用 subprocess 模块在加载新网页之前打开一个新窗口

import subprocess
import time
import webbrowser

subprocess.Popen('open -a /Applications/Google\ Chrome.app --new', shell=True)
time.sleep(0.5) # this is to let the app open before you try to load a new page
webbrowser.open(url)

关于Python Webbrowser 模块永远不会在新窗口中打开链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59208406/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com