2016-04-23 118 views
1

我看着,看着這樣的事情,但我仍然無法找出如何做到這一點..Python硒如何隱藏瀏覽器?

我已經試過

from pyvirtualdisplay import Display 
from selenium import webdriver 

display = Display(visible=0, size=(800, 600)) 
display.start() 

# now Firefox will run in a virtual display. 
# you will not see the browser. 
browser = webdriver.Firefox() 
browser.get('http://www.google.com') 
print browser.title 
browser.quit() 

display.stop() 

,但我得到這個錯誤..

Traceback (most recent call last): 
    File "C:/Users//PycharmProjects/untitled/PureTest.py", line 4, in <module> 
    display = Display(visible=0, size=(800, 600)) 
    File "C:\Python27\lib\site-packages\pyvirtualdisplay\display.py", line 33, in __init__ 
    self._obj = self.display_class(
    File "C:\Python27\lib\site-packages\pyvirtualdisplay\display.py", line 51, in display_class 
    cls.check_installed() 
+0

你安裝了'xvfb'嗎? – alecxe

回答

0

這是幹什麼用的?這是否運行無頭/自動化任務?如果你打算這樣做,我會建議使用PhantomJS。這是一款無人值守的瀏覽器,可以運行可與Selenium一起使用的JavaScript。我使用PhantomJS進行硒的網站任務自動化,並且不需要虛擬顯示等。

如果這就是你想要實現的,我建議給PhantomJS一個嘗試!

+0

這是一個自動化網站,是的,我可以用這個發送密鑰嗎?或者, – Nevermind123

+0

@ Nevermind123你確定可以!實際上,你可以做任何你想用「真實」瀏覽器做的事情,唯一的區別是它不顯示可視界面,所以它更適合於運行服務器端/無頭自動化Web任務。 – daveruinseverything

+0

@daveruinseverything我正在使用'PhantomJS'。但是當我運行腳本時會出現一個控制檯。如何阻止? –

0

如果「隱藏網絡瀏覽器」的意思是,您要打印瀏覽器標題而不顯示使用硒的瀏覽器,那麼它不可能,因爲您可以使用幻影JS或您也可以使用Python中的庫已知作爲機械化,它將爲您提供瀏覽器的功能而不顯示它,並使用幻影JS也是一個不錯的主意,但個人我不喜歡它,因爲我發現它的一些問題。

相關問題