Heim  >  Fragen und Antworten  >  Hauptteil

python - Die mit PhantomJS geöffnete Seite ist unvollständig. Was ist das Problem?

Wenn ich Phantomjs verwende, um die Anmeldung zu simulieren, gibt es in den lokalen Fenstern überhaupt kein Problem, aber bei der Bereitstellung auf Ubuntu 14.04 im Server-Docker funktioniert es nicht. Ich habe festgestellt, dass die Seite nicht geladen ist, und ich habe sie nicht gefunden eine Lösung. Das einfachste Beispiel wird ebenfalls scheitern:

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)

Ich habe versucht, implizit auf das Laden zu warten; die Fenstergröße anzupassen; alle Domainnamen auf der Seite können gepingt werden. Nichts ist gelöst. Ich frage mich, ob bei der Installation von PhantomJS etwas nicht stimmt. Zuerst habe ich es mit apt-get installiert, aber --version hat zu einem Fehler geführt. Die Antwort, die ich laut diesem Fehler gefunden habe, war, das komprimierte Paket von der offiziellen Website herunterzuladen, es zu installieren und die Umgebungsvariablen zu konfigurieren , und dieses Problem ist aufgetreten.

Umgebung:
ubuntu14.04
python2.7
phantomjs 2.1.1 in

Docker wird aus dem komprimierten Paket installiert, das von der offiziellen Website heruntergeladen wurde


Screenshot der zuletzt geladenen Schnittstelle:

🎜
我想大声告诉你我想大声告诉你2690 Tage vor896

Antworte allen(3)Ich werde antworten

  • phpcn_u1582

    phpcn_u15822017-05-18 11:00:18

    从截图来看应该是编码的问题,中文字符都无显示

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-05-18 11:00:18

    试试python3吧,2.7对中文编码一直不太友好 :)

    Antwort
    0
  • 滿天的星座

    滿天的星座2017-05-18 11:00:18

    1、你可以尝试把获取的源代码保存到文件中,以.html文件保存,用浏览器打开看下页面正常吧。
    2、也可能是字符串编码不对,百度一下中文那四个字显示都不正常,你可以在代码中把获取的代码转码一下,然后再处理截图。
    可以先试下第一步

    Antwort
    0
  • StornierenAntwort