2015-07-12 134 views
1

我試圖在Windows - Python中使用Firefox Web驅動程序作爲無頭驅動程序。我正在使用Selenium。Xvfbwrapper模塊返回異常

我已經嘗試了很多東西,但沒有任何作品,所以我試圖在虛擬屏幕上運行Firefox的xvfbwrapper。

from xvfbwrapper import Xvfb 

vdisplay = Xvfb() 
vdisplay.start() 

返回錯誤:

Traceback (most recent call last): 
    File "C:\Users\Milano\My Documents\LiClipse Workspace\Pelikan_bot\pelikan.py", line 20, in <module> 
    vdisplay.start() 
    File "C:\Python27\lib\site-packages\xvfbwrapper.py", line 48, in start 
    self.vdisplay_num = self.search_for_free_display() 
    File "C:\Python27\lib\site-packages\xvfbwrapper.py", line 72, in search_for_free_display 
    ls = [int(x.split('X')[1].split('-')[0]) for x in self._lock_files()] 
    File "C:\Python27\lib\site-packages\xvfbwrapper.py", line 85, in _lock_files 
    names = fnmatch.filter(os.listdir(tmpdir), pattern) 
WindowsError: [Error 3] The system cannot find the path specified: '/tmp/*.*' 

你有一個想法是什麼,我做錯了或者你有更好的解決辦法? (我想繼續使用Firefox,因爲PhantomJS的行爲不同,所以它返回的錯誤不是Firefox)。

+0

我們也可以通過PhantomJS問題解決您的問題。考慮就此提出一個單獨的問題。 – alecxe

+0

@alecxe好吧,我已經上傳了一個新問題。我在那裏放入了一個使用Firefox加載整個頁面的方法,但PhantomJS沒有。 http://stackoverflow.com/questions/31371460/phantomjs-acts-differently-than-firefox-webdriver –

回答

2

Xvfb或X虛擬幀緩衝區是實現X11顯示服務器協議的顯示服務器。 Windows不使用X11,你甚至可以看到python代碼採用/ tmp,這是一個Unix約定。