7
私はWebdriverとしてPhantomJSを使用しています。 Webページを読み込むのに時間がかかりすぎる場合がありますが、理由はわかりません。セレンのドライバーがページを読み込むのに時間がかかります
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
ページを読み込むのに約86秒かかりました。ブラウザでは、Webページを数秒で読み込むことができます。なぜなら、Webdriver PhantomJSがこのような長い時間を費やす理由はわかりません。どうしたの?
本当に機能し、私のプログラムからすべての要素を見つけることができます。だから、「保留中の」スクリプトをダウンロードするのに時間が無駄でしたか?タイムアウトがある場合は、ダウンロードとレンダリングを停止し、既にレンダリングされているWebページを返すだけです。私はポイントを得るかどうか分からない。そして本当にありがとう! – SimmerChan
@SimmerChanええ、それはこの解決策の背後にあるアイデアです - 保留中のリクエストを止めるために 'window.stop()'を使います。 – alecxe