Есть ли способ проверить, занят ли ChromeDriver в Selenium? - PullRequest
0 голосов
/ 22 октября 2018

Я бегу Selenium с ChromeDriver WebDriver.На странице есть тяжелый синхронный javascript, который может работать очень долго (даже до 30 минут)

На этой странице у меня есть функция getStatus(), которая возвращает, была ли завершена задача, но когда явыполнить browser.ExecuteScript("return getStatus()"), конечно, это завершится неудачно по таймауту, потому что страница не может выполнить этот javascript, так как он работает над другим выполнением js.

Есть ли другой способ для Selenium или Chrome WebDriver, чтобы сказать мнеесть ли какой-нибудь тяжелый javascript, выполняемый в настоящее время?

Мой полный код:

var chromeOptions = new ChromeOptions();
//chromeOptions.AddArguments("headless");
using (var browser = new ChromeDriver(chromeOptions))
{
    browser.Url = url;
    while (true) {          
        Dictionary<string, object> status =
                            (Dictionary<string, object>)browser.ExecuteScript("return getStatus()");
        if ((bool)status["Finished"]) {
           return
        }
    }
}
...