Как дождаться завершения запроса POST в Selenium? - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь автоматизировать задачу в Selenium. Задача в основном представляет собой задание по загрузке, и для его загрузки и обработки требуется более 3 часов.

Итак, я пробовал приведенный ниже код для ожидания завершения процесса:

uploadBtn.Click(); 
var _waitForSucecessDivAlert = new WebDriverWait(driver, new TimeSpan(0, 0, 10));
_waitForSucecessDivAlert.Until(d => d.FindElement(By.Id("SuccessDiv")));

Когда uploadBtn click выполнил ожидание выполнения в этой строке и не начинать выполнение следующих 2 строк .

После выполнения первой строки в течение 60 секунд, селен выдает следующую ошибку:

HTTP-запрос к удаленному серверу WebDriver для URL http://blah.blah click время ожидания истекло через 60 секунд.

Я искал решение и попробовал следующий код:

IWebDriver driver = new ChromeDriver(ChromeDriverService.CreateDefaultService(), chromeOptions,
                                     TimeSpan.FromHours(3));
driver.Manage().Timeouts().PageLoad.Add(TimeSpan.FromHours(3));

Приведенный выше код решает ошибку тайм-аута. Но через пару минут выполнения Selenium выдает следующую ошибку:

тайм-аут: Истекло время получения сообщения от рендерера: 300.000

Я попробовал несколько комбинаций решений, указанных ниже сообщений, но решение не вышло:

Кто-нибудь может мне помочь в этом случае?

...