Maison > Questions et réponses > le corps du texte
Lors du processus d'utilisation de Selenium pour explorer 12306, j'ai découvert que phantomjs ne pouvait pas être utilisé pour l'explorer. Utilisez simplement chromedriver. Il devrait être détecté et bloqué par le site Web. L'utilisation de chromedriver affichera à nouveau l'interface et l'exploration. l'efficacité est faible.
Maintenant, j'ai deux questions. Je cherche sur Google depuis longtemps mais je n'ai pas trouvé de solution efficace
1 Comment déguiser les phantomjs autant que possible
2 Comment configurer Chromedriver pour qu'il ne le fasse pas. afficher l'interface, ou existe-t-il d'autres moyens d'améliorer l'exploration ?
PHP中文网2017-05-18 10:55:13
Vous pouvez répondre à vos besoins via PyVirtualDisplay. Le code est probablement comme ceci :
.#!/usr/bin/env 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.Chrome()
browser.get('http://www.baidu.com')
print browser.title
browser.quit()
display.stop()
Je ne sais pas si vous avez modifié les informations d'en-tête de phantomjs Vous pouvez passer
.from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('lang=zh_CN.UTF-8')
options.add_argument('user-agent="Mozilla/5.0 (iPod; U; CPU iPhone OS 2_1 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5F137 Safari/525.20"')
browser = webdriver.Chrome(chrome_options=options)
url = "https://baidu.com"
browser.get(url)
browser.quit()
Cette méthode modifie les informations d'en-tête de phantomjs Vous pouvez également essayer ceci
.世界只因有你2017-05-18 10:55:13
Vous pouvez vous référer à mon article pour exécuter Selenium en mode sans tête