Боюсь Вы не учли время загрузки самого ролика, а лаг может быть как на стороне клиента, так и на стороне сервера (большая нагрузка, долгое время сервинга).
Таймер в таком случае - совсем не показателен и проще обратиться к объекту плеера (в случае с HTML5) и выдрать счетчик оттуда: //span[@class=“ytp-time-current”]
Да, теперь увидел. Неверно истолковал Ваш пост изначально, сорри.
Это будет самый достоверный способ, в случае UI тестирования.
Вообще зависит от того, что я ожидаю получить на выходе, и для чего мне эти данные. Если мы говорим “в общем” в контексте вебдрайвера, то пайтоновская реализация имеет заготовленный wait.until(condition), аналогичное есть точно в Java, так что думаю и в C# найдется что-то подобное.
Ожидаемый результат - это отправная точка.
Поэтому сначала извлечь Длительность_просмотра_2 из базы, а потом wait.until(Длительность_просмотра_2 < int(driver.find_element_by_xpath("//span[@class=“ytp-time-current”]/text())))
Ну или на свой лад переписать, более красиво. Правильным путем идете, как по мне