Lorsque j'utilise phantomjs pour simuler la connexion, il n'y a aucun problème sur les fenêtres locales, mais cela ne fonctionne pas lorsqu'il est déployé sur Ubuntu14.04 dans le docker du serveur, je trouve que la page n'a pas été chargée, et je ne l'ai pas fait. trouvé une solution. L'exemple le plus simple échouera également. Par exemple :
from selenium import webdriver login_url = "https://www.baidu.com" img_name = './img.png' if __name__ == '__main__': driver = webdriver.PhantomJS() driver.implicitly_wait(20) driver.get(login_url) driver.save_screenshot(img_name)
J'ai essayé d'attendre implicitement le chargement ; d'attendre de manière forcée la mise en veille ; d'ajuster la taille de la fenêtre et les noms de domaine sur la page peuvent tous être pingés ; Rien n'est résolu. Je me demande si quelque chose ne va pas lors de l'installation de phantomjs ? Tout d'abord, je l'ai installé en utilisant apt-get, mais --version a provoqué une erreur. Ensuite, la réponse que j'ai trouvée en fonction de cette erreur était de télécharger le package compressé depuis le site officiel, de l'installer et de configurer les variables d'environnement. et ce problème s'est produit.
Environnement :
ubuntu14.04
python2.7
phantomjs 2.1.1 dans Docker est installé à partir du package compressé téléchargé depuis le site officiel
Capture d'écran de la dernière interface chargée :
从截图来看应该是编码的问题,中文字符都无显示
试试
python3
吧,2.7对中文编码一直不太友好 :)1、你可以尝试把获取的源代码保存到文件中,以.html文件保存,用浏览器打开看下页面正常吧。
2、也可能是字符串编码不对,百度一下中文那四个字显示都不正常,你可以在代码中把获取的代码转码一下,然后再处理截图。
可以先试下第一步