2010-12-23 74 views
8

我想寫一個Python腳本打開一個URL,但我不斷收到錯誤,當我嘗試使用它:問題打開火狐

import webbrowser 

firefox = webbrowser.get('mozilla') 

這是錯誤:

Traceback (most recent call last): 
    File "C:\Users\Gelu\Documents\CSCI\Image URL Generator\src\Generator.py", line 8, in <module> 
    firefox = webbrowser.get('mozilla') 
    File "C:\Program Files\Python31\lib\webbrowser.py", line 53, in get 
    raise Error("could not locate runnable browser") 
webbrowser.Error: could not locate runnable browser 

任何想法爲什麼這不起作用?

回答

8

我認爲你正在嘗試打開Firefox,對吧?

firefox = webbrowser.get('firefox') 

工程。來自docs,瀏覽器類型。

+0

因此,我爲什麼困惑。我正在閱讀有關它如何讀取PATH文件或類似的東西以及它不在其中的內容。我不確定,我只是普遍困惑,爲什麼它不起作用 – Ryan 2010-12-23 09:54:17

13

如果你

import webbrowser 
print webbrowser._browsers 

你會得到你的系統所識別的瀏覽器的列表。

2

對我來說,問題是,webbrowser.py在我的Windows機器中無法識別任何其他瀏覽器。所以,我必須註冊瀏覽器,然後啓動一個新選項卡。

import webbrowser 
urL='https://www.google.com' 
firefox_path="C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe" 
webbrowser.register('firefox', None,webbrowser.BackgroundBrowser(firefox_path),1) 
webbrowser.get('firefox').open_new_tab(urL) 

希望這對一些人有幫助。

另外一些Python筆記上做了什麼寄存器參考,

webbrowser.register(名稱,構造函數[,實例])¶

註冊瀏覽器類型名稱。一旦註冊了瀏覽器類型,get()函數就可以返回該瀏覽器類型的控制器。如果沒有提供實例,或者是None,那麼將在不需要參數的情況下調用構造函數來創建實例。如果提供了實例,則構造函數將永遠不會被調用,並且可能爲None。此入口點僅在計劃設置BROWSER變量或使用與您聲明的處理程序名稱匹配的非空參數調用get()時有用。