Python :: 如何在非默认浏览器中打开页面
我想写一个简单的脚本,用来在本地打开一个网站,这样我就可以在两个或更多浏览器中测试CSS效果。我的默认浏览器是IE7,它可以正常打开这个页面,但当我尝试用非默认浏览器,比如Firefox或Arora时,就失败了。
我在使用webbrowser模块,并且在网上查了很多方法来尝试解决这个问题。
这到底可不可以,如果可以的话,应该怎么做呢?
4 个回答
1
有时候,webbrowser
的 get()
函数可能会出现问题,无法正常工作。这种情况下,你可以使用 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
马特说得对,这个模块非常有用,值得了解一下...
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