Как дождаться загрузки YouTube selenium + phantom.js (c#)?

Пытаюсь спарсить список видео с youtube, захожу на страницу при помощи Selenium + Phantom.js

IWebDriver webDriver = new PhantomJSDriver();
            webDriver.Navigate().GoToUrl(@"https://www.youtube.com");
            try
            {
                WebDriverWait wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(30));
                IWebElement firstResult = wait.Until(e => e.FindElement(By.CssSelector("ytd-rich-item-renderer")));
                Console.WriteLine(firstResult.Text);
            } catch(Exception e)
            {
                Console.WriteLine(e);
                Console.WriteLine(webDriver.PageSource);
            }
            
            Console.ReadLine();

В коде ожидаю загрузки страницы и появления элемента ytd-rich-item-renderer, но элемент не находит

И в консоль выводится исходный код страницы до выполнения всех скриптов, в чем может быть проблема? Почему за 30 секунд страница полностью не загрузилась?

введите сюда описание изображения

На скрине видно, что страница еще не прогрузилась и нет нужного элемента.

Также вставлял полученный исходный код, что выдало в консоли в редактор кода, и так же не нашел нужного элемента, страница 100% не успевает выполнить скрипты, но не понятно по какой причине

UPD: Еще раз хочу обратить внимание, что селениум ждет таймаут, который указан, но элемент все равно не появляется. После истечения таймаута, когда вывожу страницу, вижу исходный код, до срабатывания скриптов

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Andrew

Мне кажется селектор неправильно указан.

У тебя ни точки ни решетки не стоит в селекторе. То есть оно ищет буквально ТЭГ(и то я не уверен что он именно так ищется), а не значение АТРИБУТА (класса в данном случае).

Попробуй искать по селекторах

By.CssSelector(".ytd-rich-item-renderer")

или

By.XpathSelector(".//ytd-rich-item-renderer")

лично я по обоим селекторам нахожу необходимые элементы через плагин браузера. Вполне возможно что это какие-то ограничения селекторов самого селениума.

введите сюда описание изображения

→ Ссылка