私は古いWebサイトを自動化するためにSelenium WebDriverとFirefoxDriverを使用しています。このウェブサイトはプレーンなJavaScriptを使用して構築されていますAjaxリクエストの実行にはXMLHttpRequest
を使用しています。私は、Ajaxリクエストが完了するのを待つべき関数WaitForAjax()
を書きたいと思います。現在、Explicit Wait(Thread.Sleep
)を使用しています。 Implicit Waitで誰かが同じことを達成するのを助けることができますか?XMLHttpRequestベースのリクエストに対して、ajaxレスポンスを待つセレンを取得する方法
protected void WaitForAjax() {
/*
while (true) {
var ajaxIsComplete = (bool)(_driver as IJavaScriptExecutor).ExecuteScript("return jQuery.active == 0");
if (ajaxIsComplete)
break;
}
*/
//I am using Explicit Waits of 3 second.
Thread.Sleep(TimeSpan.FromSeconds(3));
}
https://stackoverflow.com/questions/15122864/selenium-wait-until-document-is-ready:そして、ほとんどの場合、あなたはこのようなスクリプトを試すことができ :)何かがあります –