我试图创建一个简单的脚本来打开一个本地托管的网站,用于在2个或更多浏览器中测试css。默认浏览器是IE7,它打开页面正常,但是当我尝试打开非默认浏览器(如Firefox或Arora)时,它只是失败。Python ::如何在非默认浏览器中打开页面
我正在使用webbrowser模块,并尝试了这种方式,详见网站上的各个站点。
这是可能的,如果是的话如何?
我试图创建一个简单的脚本来打开一个本地托管的网站,用于在2个或更多浏览器中测试css。默认浏览器是IE7,它打开页面正常,但是当我尝试打开非默认浏览器(如Firefox或Arora)时,它只是失败。Python ::如何在非默认浏览器中打开页面
我正在使用webbrowser模块,并尝试了这种方式,详见网站上的各个站点。
这是可能的,如果是的话如何?
马特的权利,它是知道一个非常有用的模块...
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
这是正确的,但你应该引用路径,甚至可能是URL。 – 2010-01-22 16:46:42
我会放弃这一点。谢谢我没有想过这样做! – 2010-01-23 08:57:16
Yeap就是这么做的。感谢您的建议。 – 2010-01-25 10:15:00
这基本上可以归结为:
- run 'firefox "url"'
- run 'iexplore "url"'
- run 'other_browser "url"'
我不知道够不够蟒蛇知道system()调用是如何实现的有,但它应该是相当简单。
subprocess module应该提供你想要的东西,如果你给子进程提供浏览器的路径。请注意,您需要Python 2.4或更高版本才能使用子进程,但现在很常见。
更新 - 方法的代码来调用浏览器,同时打开一个URL中传递:
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)
感谢提示,正如我上面所说,我没有想过这样做。 – 2010-01-23 08:57:44
你是如何尝试使用其他浏览器打开它的? – Geo 2010-01-22 13:45:25
你正在收到什么错误信息? – 2010-01-22 14:04:15
我正在使用webbrowser.get()调用来传递我尝试打开的浏览器的各种名称。我也尝试传递完整路径,然后使用webbrowser.register()函数。 我经过一番深入研究后得到的错误消息在webbrowser模块的第52行被抛出,并且因为无法找到指定的浏览器而被抛出。 – 2010-01-23 08:56:15