如何用Python打开Google Chrome并传递参数?

5 投票
3 回答
29738 浏览
提问于 2025-04-18 01:48

这是我尝试的方式:

# Start Google Chrome
subprocess.call(["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe", "--kiosk"])

如果我在桌面上的谷歌浏览器快捷方式中添加 --kiosk 这个标志,浏览器确实会以“展览模式”启动。但是,当我通过 Python 尝试这样做时,似乎就不行。我在谷歌和这里搜索过,但到目前为止没有找到任何解决办法。请帮帮我。

3 个回答

1

感谢你提供的“结束其他实例”的建议,解决了我的问题 :)
我使用了以下方法:

import os
os.system('taskkill /im chrome.exe')
os.system('start chrome "https://www.youtube.com/feed/music" --kiosk')
1

你可以使用原始字符串来表示Windows路径:

import subprocess

chrome = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
subprocess.check_call([chrome, '--kiosk'])

注意:"\\n" == r'\n' != '\n'。虽然在你的情况下这没什么区别。

你可以尝试加上--new-window这个选项来打开一个新窗口。

如果你只是想在新的Google Chrome窗口中打开一个网址:

import webbrowser

webbrowser.get('google-chrome').open_new('https://example.com')
11

这个命令对我来说运行得很好。

确保你没有在运行其他的Chrome浏览器。看起来Chrome只有在没有其他实例运行的情况下才能以Kiosk模式启动。如果你想确认没有其他实例在运行,可以参考这个回答,里面有介绍如何在启动新进程之前结束它们:

import os
import subprocess


CHROME = os.path.join('C:\\', 'Program Files (x86)', 'Google', 'Chrome', 'Application', 'chrome.exe')

os.system('taskkill /im chrome.exe')
subprocess.call([CHROME, '--kiosk'])

顺便提一下,即使你的代码目前是针对特定平台的,使用os.path.join也是个好习惯。

撰写回答