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

5

我正在尝试的方法如下:

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

如果我在桌面上的Google Chrome快捷方式中添加--kiosk标志,Chrome会以kiosk模式启动。 但是,当我尝试通过Python执行此操作时,似乎不起作用。我已经在Google和这里搜索了很久,但迄今为止什么也没找到,请帮助我。
3个回答

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始终是一个好习惯。


1
我已经在运行Chrome。我杀掉了已经打开的Chrome实例,现在它可以正常工作了。感谢您关于使用os.path.join的提示。您先生是一位绅士和学者。 - Beebunny

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窗口中打开一个URL:
import webbrowser

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

如何使用webbrowser.get().open()并发送F11? - user285594
1
@YumYumYum webbrowser启动浏览器,但它不提供与之交互的方式(发送键等)。尝试在上面的“-kiosk”参数中添加“-fullscreen”命令行参数。如果不起作用,请提出单独的问题。 - jfs

1
感谢您的“关闭其他实例”提示,解决了我的问题 :) 我使用以下方法:
import os
os.system('taskkill /im chrome.exe')
os.system('start chrome "https://www.youtube.com/feed/music" --kiosk')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接