Написать название видео на Youtube

dima2121

Client
Регистрация
09.02.2020
Сообщения
138
Благодарностей
14
Баллы
18
Добрый день, вопрос по работе с ютуб, когда выполняешь любую работу на ютуб, будь-то парсинг, комментарии или что-то другое, то всегда делаешь переход по ссылкам на видео, которые заготовил заранее, а как можно найти видео вписав его название в строку поиска? Вот например нужно оставить комментарий под видео которое образно называется "Путешествии автостопом по Бали", как кликнуть на то видео после выдачи поискового запроса ? ведь внешность ютуба всегда изменчива, то огромный рекламный баннер по центру , то маленький по бокам, либо вообще нет рекламы и твое видео с котоым нужно работать стоит первым после выдачи, как на него кликнуть
Метод
Пишем название ролика в строку ввода, делаем клик, и после ищем видео с помошью
Код:
 CommonCode.ProkrutkaKolesikom(instance.ActiveTab, project, "//div[contains(text(), 'Название видео ролика')]");
что-то у меня не работает такой метод, может кто знает альтернативный способ ?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 719
Баллы
113
для начала надо правильно составить xpath, потом надо вручную в DevTools его протестировать, раз 20-ть перезагрузить страницу и проверить.
потом использовать в зенке.
То что ты привел , вообще хз знает что. какой то твой код упрятанный в общий код. предлагаешь погадать что он делает ? Ну допустим там код соответствует названию функции ProkrutkaKolesikom, пожно предположить что он крутит колесиком, а раз есть входные данные то может даже до элемента крутит. а вот кликает он или что еще делает, хз :ce:
 
  • Спасибо
Реакции: dima2121 и Astraport

dima2121

Client
Регистрация
09.02.2020
Сообщения
138
Благодарностей
14
Баллы
18
для начала надо правильно составить xpath, потом надо вручную в DevTools его протестировать, раз 20-ть перезагрузить страницу и проверить.
потом использовать в зенке.
То что ты привел , вообще хз знает что. какой то твой код упрятанный в общий код. предлагаешь погадать что он делает ? Ну допустим там код соответствует названию функции ProkrutkaKolesikom, пожно предположить что он крутит колесиком, а раз есть входные данные то может даже до элемента крутит. а вот кликает он или что еще делает, хз :ce:
Да, он должен кликать после прокрутки, не дописал этот момент, не могу сказать с уверенностью но xpath вроде составлял правильно, но мышка всё равно не прокручивал, до нужного видео
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 719
Баллы
113
Да, он должен кликать после прокрутки, не дописал этот момент, не могу сказать с уверенностью но xpath вроде составлял правильно, но мышка всё равно не прокручивал, до нужного видео
xpath -> в ручную проверяй, в кубике клика проверяй.
 
  • Спасибо
Реакции: dima2121

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 719
Баллы
113

dima2121

Client
Регистрация
09.02.2020
Сообщения
138
Благодарностей
14
Баллы
18

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
dima2121 , вот такой xpath используй
C#:
//a[contains(@title, 'название ролика')]
посмотри видео по xpath: тыц

кстати, метод только крутит, не кликает.
 
Последнее редактирование:
  • Спасибо
Реакции: dima2121

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113
Искать видео через поиск можно по его id или ссылке на него, таким образом исключая другие видео в выдаче.
 
  • Спасибо
Реакции: dima2121

dima2121

Client
Регистрация
09.02.2020
Сообщения
138
Благодарностей
14
Баллы
18
dima2121 , вот такой xpath используй
C#:
//a[contains(@title, 'название ролика')]
посмотри видео по xpath: тыц

кстати, метод только крутит, не кликает.
Спасибо большое, курутит именно куда нужно, теперь осталось клик сделать
 

dima2121

Client
Регистрация
09.02.2020
Сообщения
138
Благодарностей
14
Баллы
18

dima2121

Client
Регистрация
09.02.2020
Сообщения
138
Благодарностей
14
Баллы
18
Вот что получилось.
Код:
 CommonCode.ProkrutkaKolesikom(instance.ActiveTab, project, "//a[contains(@title, 'ШАУРМА ОТ ВИЛСАКОМ')]");
 // Конструктор действий, тип RiseEvent
HtmlElement he = instance.ActiveTab.FindElementByXPath("//a[contains(@title, \'ШАУРМА ОТ ВИЛСАКОМ\')]", 0);
if (he.IsVoid) return -1;
// Задержка эмуляции
instance.WaitFieldEmulationDelay();
// Вызвать событие "click"
he.RiseEvent("click", instance.EmulationLevel);
Вроде работает, находит и кликает , вместо названия видео у меня будет поставляться переменная с текстом, единственно я не пойму клик происходит с помощью эмуляции мыши или нет ?
 

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)