python - La page ouverte avec phantomjs est incomplète, quel est le problème?
我想大声告诉你
我想大声告诉你 2017-05-18 10:58:18
0
3
890

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 :

我想大声告诉你
我想大声告诉你

répondre à tous(3)
phpcn_u1582

À en juger par les captures d'écran, il semble y avoir un problème d'encodage, car aucun caractère chinois n'est affiché

漂亮男人

Essayez-lepython3, la version 2.7 n'a jamais été très conviviale avec l'encodage chinois :)

滿天的星座

1. Vous pouvez essayer de sauvegarder le code source obtenu dans un fichier, de l'enregistrer en tant que fichier .html et de l'ouvrir avec un navigateur pour voir si la page est normale.
2. Il se peut que l'encodage de la chaîne soit incorrect. Les quatre caractères chinois affichés sur Baidu ne s'affichent pas correctement. Vous pouvez transcoder le code obtenu dans le code puis traiter la capture d'écran.
Vous pouvez d'abord essayer la première étape

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!