まったくわからないので、もしよろしければアドバイスをいただければと思います。
通常、Seleniumを使用するときは、興味のある要素を検索しようとしますが、特定のWebページ(html、スクリプトなど)がどのくらいの時間かかるかを確認するために、ある種のパフォーマンステストを開発することを考えていました.ロード。
ページの特定の要素を検索せずに、html、スクリプトなどの読み込み時間を知る方法はありますか?
PS IE または Firefox を使用しています
まったくわからないので、もしよろしければアドバイスをいただければと思います。
通常、Seleniumを使用するときは、興味のある要素を検索しようとしますが、特定のWebページ(html、スクリプトなど)がどのくらいの時間かかるかを確認するために、ある種のパフォーマンステストを開発することを考えていました.ロード。
ページの特定の要素を検索せずに、html、スクリプトなどの読み込み時間を知る方法はありますか?
PS IE または Firefox を使用しています
アクティブな接続については、基礎となる JavaScript フレームワークを確認できます。アクティブな接続がない場合、ページの読み込みが完了したと見なすことができます。
ただし、そのためには、ページが使用しているフレームワークを知っているか、さまざまなフレームワークを体系的にチェックしてから接続をチェックする必要があります。
def get_js_framework(driver):
frameworks = [
'return jQuery.active',
'return Ajax.activeRequestCount',
'return dojo.io.XMLHTTPTransport.inFlight.length'
]
for f in frameworks:
try:
driver.execute_script(f)
except Exception:
logging.debug("{0} didn't work, trying next js framework".format(f))
continue
else:
return f
else:
return None
def load_page(driver, link):
timeout = 5
begin = time.time()
driver.get(link)
js = _get_js_framework(driver)
if js:
while driver.execute_script(js) and time.time() < begin + timeout:
time.sleep(0.25)
else:
time.sleep(timeout)