Я бегу 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
}
}
}