Ich benutze PhantomJS als meine webdriver. Manchmal dauert es zu lange, um eine Webseite zu laden, aber ich weiß nicht warum.selen webdriver dauert zu lange, um eine Seite zu laden
import time
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36'
driver = webdriver.PhantomJS(service_args=['--load-images=no'], desired_capabilities=dcap)
t=time.time()
driver.get('http://www.tibetculture.net/2012zyzy/zx/201509/t20150915_3939844.html')
print 'Time consuming:', time.time() - t
Es dauerte etwa 86s, um die Seite zu laden. In einem Browser kann die Webseite in einigen Sekunden geladen werden und ich habe keine Ahnung, warum Webdriver PhantomJS so lange braucht. Was stimmt damit nicht?
Es funktioniert wirklich und ich kann alle Elemente aus meinem Programm finden. Wurde die Zeit für das Herunterladen des "ausstehenden" Skripts verschwendet? Wenn es ein Zeitlimit gibt, dann höre mit dem Herunterladen und Rendern auf, gib einfach die Webseite zurück, die schon gerendert wurde, oder? Ich weiß nicht, ob ich den Punkt verstehe. Und danke, wirklich! – SimmerChan
@SimmerChan Ja, das ist die Idee hinter dieser Lösung - verwenden Sie 'window.stop()', um ausstehende Anfragen zu stoppen. – alecxe