web-dev-qa-db-ja.com

SeleniumWebdriverがページの読み込みに時間がかかりすぎる

WebドライバーとしてPhantomJSを使用しています。ウェブページの読み込みに時間がかかりすぎることがありますが、理由はわかりません

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秒かかりました。ブラウザでは、ウェブページを数秒で読み込むことができますが、なぜウェブドライバPhantomJSにこれほど長い時間がかかるのかわかりません。どうしたんだ?

11
SimmerChan

継続的に実行されている「保留中」のスクリプトがあります。 ページの読み込みタイムアウトを設定し、window.stop()を発行してTimeoutExceptionを処理します。

from Selenium.common.exceptions import TimeoutException

t = time.time()
driver.set_page_load_timeout(10)

try:
    driver.get('http://www.tibetculture.net/2012zyzy/zx/201509/t20150915_3939844.html')
except TimeoutException:
    driver.execute_script("window.stop();")
print('Time consuming:', time.time() - t)

print(driver.find_element_by_id("NewsTitle").text)

ニュースタイトルを印刷します(ページ上で要素を見つけてアクションを実行できることを証明します):

Time consuming: 10.590633869171143
让藏医药走出雪域高原
17
alecxe