Python :: 如何在非默认浏览器中打开页面

5 投票
4 回答
3136 浏览
提问于 2025-04-15 18:21

我想写一个简单的脚本,用来在本地打开一个网站,这样我就可以在两个或更多浏览器中测试CSS效果。我的默认浏览器是IE7,它可以正常打开这个页面,但当我尝试用非默认浏览器,比如Firefox或Arora时,就失败了。

我在使用webbrowser模块,并且在网上查了很多方法来尝试解决这个问题。

这到底可不可以,如果可以的话,应该怎么做呢?

4 个回答

1

有时候,webbrowserget() 函数可能会出现问题,无法正常工作。这种情况下,你可以使用 register() 来定义你自己的浏览器。

import webbrowser
browser_path="<path_to_your_browser_executable>"
webbrowser.register('my_browser', None, webbrowser.BackgroundBrowser(browser_path))
webbrowser.get('my_browser').open("stackoverflow.com")
1

如果你想要实现某些功能,可以使用subprocess模块,只要给它浏览器的路径就行。需要注意的是,你得使用Python 2.4或更新的版本,这在现在是很常见的。

更新 - 下面是一个调用Chrome并打开传入网址的方法的代码:

def startChrome(url):
    """ Calls Chrome, opening the URL contained in the url parameter. """
    executable = 'path-to-chrome'    # Change to fit your system
    cmd = ' '.join([executable, url])
    browswer_proc = subprocess.Popen(cmd, shell=True)
3

马特说得对,这个模块非常有用,值得了解一下...

18.1. subprocess

IDLE 2.6.2      
>>> import subprocess
>>> chrome = 'C:\Users\Ted\AppData\Local\Google\Chrome\Application\chrome.exe'
>>> chrome_args = 'www.rit.edu'
>>> spChrome = subprocess.Popen(chrome+' '+chrome_args)
>>> print spChrome.pid
2124

撰写回答