2016-04-23 11 views
1

Ich habe gesucht und gesucht für so etwas, aber ich kann immer noch nicht herausfinden, wie es zu tun ..Python Selen wie den Browser zu verstecken?

I

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() 

aber ich diesen Fehler versucht haben ..

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

Haben Sie 'xvfb' installiert? – alecxe

Antwort

0

Wofür ist das? Soll dies kopflose/automatisierte Aufgaben ausführen? Wenn Sie das tun, würde ich vorschlagen, PhantomJS zu verwenden. Es ist ein kopfloser Browser, der JavaScript ausführen kann, der mit Selenium verwendet werden kann. Ich benutze PhantomJS für die Automatisierung von Website-Aufgaben mit Selen, und es ist kein Basteln mit virtuellen Displays etc. notwendig.

Wenn Sie das erreichen möchten, empfehle ich Ihnen, PhantomJS auszuprobieren!

+0

Dies ist für ein automatisiertes Web, ja, kann ich Schlüssel damit senden? oder, – Nevermind123

+0

@ Nevermind123 können Sie sicher! Praktisch können Sie fast alles tun, was Sie mit einem "echten" Browser tun würden. Der einzige Unterschied ist, dass es keine visuelle Oberfläche anzeigt, daher ist es viel besser geeignet, um automatisierte Webaufgaben serverseitig/kopflos auszuführen. – daveruinseverything

+0

@daveruineseverything Ich benutze 'PhantomJS'. Aber wenn ich das Skript ausführe, erscheint eine Konsole. Wie kann man das stoppen? –

0

Wenn Sie "Browser verstecken" meinen, dass Sie den Browsertitel drucken möchten, ohne den Browser mit Selen anzuzeigen, dann ist es nicht möglich, dafür können Sie Phantom JS verwenden oder Sie können auch eine Bibliothek in Python verwenden Als Mechanize, die Ihnen die Funktionalität eines Browsers ohne die Anzeige bietet und Phantom JS ist auch eine nette Idee, aber ich persönlich bevorzuge es nicht, da ich einige Probleme damit finde.