web-dev-qa-db-de.com

Python, PhantomJS sagt, ich benutze keinen Headless?

mein Code lautet: 

from Selenium import webdriver

driver = webdriver.PhantomJS(executable_path='driver/bin/phantomjs.exe')
driver.get("https://www.test.com")
print(driver.current_url)

Es scheint gut zu laufen, aber bevor es läuft, bekomme ich immer diesen Fehler:

UserWarning: Die Selen-Unterstützung für PhantomJS wurde nicht mehr unterstützt. Bitte verwenden Sie die headless-Version von Chrome oder Firefox

Warum erhalte ich diesen Fehler? Ich dachte, mein PhantomJS wäre ohne Kopf, da es immer noch funktioniert und kein Browser-Popup erscheint. Wird dieser Fehler ignoriert?

4
Ogden

Da Selenium PhantomJS für veraltet hält, müssen Sie entweder Chrome oder Firefox im Headless-Modus verwenden.

So verwenden Sie Chrome im Headless-Modus:

  1. laden Sie den Chrome-Treiber von https://sites.google.com/a/chromium.org/chromedriver/getting-started herunter.
  2. entpacke es in einen Ordner 
  3. fügen Sie diesen Ordner zu Ihrer PATH-Umgebungsvariablen hinzu (wenn Sie dies nicht tun, müssen Sie webdriver.Chrome('/your/path/to/chromedriver') im folgenden Code anstelle von webdriver.Chrome ()) verwenden.

Dann ist dies dein Skript:

from Selenium import webdriver

# prepare the option for the chrome driver
options = webdriver.ChromeOptions()
options.add_argument('headless')

# start chrome browser
browser = webdriver.Chrome(chrome_options=options)
browser.get('http://www.google.com/xhtml')
print(browser.current_url)
browser.quit()

Weitere Informationen zu So verwenden Sie ChromeDriver
Für die anderen Optionen: hier (auch hier und hier )

4
MagTun

In Selenium 3.8.1 ist PhantomJS als veralteter Webtreiber markiert und es wird empfohlen, Chrome oder Firefox im Headless-Modus zu verwenden.

2
Sergey Samsonov

Eine Alternative gefunden, mit der Sie options.add_argument ('headless') zu Chrome hinzufügen können 

0
Ogden