web-dev-qa-db-fra.com

Python, PhantomJS dit que je n’utilise pas sans tête?

mon code est: 

from Selenium import webdriver

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

Il semble fonctionner correctement, mais avant d’être exécuté, j’obtiens toujours cette erreur:

UserWarning: La prise en charge de Selenium pour PhantomJS est obsolète. Veuillez utiliser des versions sans tête de Chrome ou de Firefox à la place de warnings.warn ('La prise en charge de Selenium pour PhantomJS est obsolète. Veuillez utiliser sans tête.

Pourquoi est-ce que je reçois cette erreur? Je pensais que mon PhantomJS était sans tête car il fonctionne toujours et aucun navigateur ne s'affiche: cette erreur est-elle sauvegardée?

4
Ogden

Selenium considère PhantomJS comme obsolète. Vous devez donc utiliser Chrome ou Firefox en mode sans tête.

Voici les étapes à suivre pour utiliser Chrome en mode sans tête:

  1. téléchargez le pilote chrome à partir de https://sites.google.com/a/chromium.org/chromedriver/getting-started
  2. l'extraire dans un dossier 
  3. ajoutez ce dossier à votre variable d'environnement PATH (si vous ne le faites pas, vous devrez utiliser webdriver.Chrome('/your/path/to/chromedriver') dans le code ci-dessous à la place de webdriver.Chrome ())

Alors voici votre script:

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

Plus d'informations sur comment utiliser ChromeDriver
Pour les autres options: ici (aussi ici et ici )

4
MagTun

Dans Selenium 3.8.1, PhantomJS est marqué comme pilote Web obsolète et vous recommande d’utiliser soit Chrome, soit Firefox en mode sans tête.

2
Sergey Samsonov

Si vous avez trouvé une alternative, vous pouvez ajouter options.add_argument ('headless') to chrome 

0
Ogden