Лайк ютуб проверить существование. При разных отпечатках разная выдача
-
Приветствую коллеги.
Такой вопросПример как лайк выдаётся у меня
Нет лайка <yt-icon-button id="button" class="style-scope ytd-toggle-button-renderer style-text" aria-pressed="false"> Есть лайк <yt-icon-button id="button" class="style-scope ytd-toggle-button-renderer style-default-active" aria-pressed="true">
Меняется отпечаток, и совсем другие значения, Меняю другие отпечатки тоже меняется.
Как сделать универсальный вариант для такой проблемки?
Чтобы видно было не зависимо от отпечатка
-
@neizwestnyi00 Через Xpath
//yt-icon-button[@id="button"]/@aria-pressed
-
@Fox через Xpath тоже меняется при разных отпечатках
-
@neizwestnyi00 Тогда приведи несколько примеров, либо пробуй через >MATCH>
-
Ненажата >XPATH> id("menu-container")/div[@id="menu"]/ytd-menu-renderer[@class="style-scope ytd-video-primary-info-renderer"]/div[@id="top-level-buttons"]/ytd-toggle-button-renderer[@class="style-scope ytd-menu-renderer force-icon-button style-text"]/a[@class="yt-simple-endpoint style-scope ytd-toggle-button-renderer"]/yt-icon-button[@id="button"] Нажата >XPATH> id("menu-container")/div[@id="menu"]/ytd-menu-renderer[@class="style-scope ytd-video-primary-info-renderer"]/div[@id="top-level-buttons"]/ytd-toggle-button-renderer[@class="style-scope ytd-menu-renderer force-icon-button style-default-active"]/a[@class="yt-simple-endpoint style-scope ytd-toggle-button-renderer"]/yt-icon-button[@id="button"]
Ещё вариант
Ненажата >XPATH> id("watch8-sentiment-actions")/span[@class="like-button-renderer actionable "]/span[1]/button[@class="yt-uix-button yt-uix-button-size-default yt-uix-button-opacity yt-uix-button-has-icon no-icon-markup like-button-renderer-like-button like-button-renderer-like-button-unclicked yt-uix-post-anchor yt-uix-tooltip"] Нажата >XPATH> id("watch8-sentiment-actions")/span[@class="like-button-renderer actionable "]/span[2]/button[@class="yt-uix-button yt-uix-button-size-default yt-uix-button-opacity yt-uix-button-has-icon no-icon-markup like-button-renderer-like-button like-button-renderer-like-button-clicked yt-uix-button-toggled yt-uix-post-anchor yt-uix-tooltip"]
Через >MATCH> тоже меняется постояно
-
@neizwestnyi00 Примеры разного кода кнопки, от разных отпечатков.
-
@Fox Вот выше, это два разных отпечатка
-
@neizwestnyi00 Ты мне скинул длинный, разный Xpath. А я прошу именно html код этих кнопок, чтобы сделать универсальный Xpath.
-
@Fox Html код
1 ------------------- <button class="yt-uix-button yt-uix-button-size-default yt-uix-button-opacity yt-uix-button-has-icon no-icon-markup like-button-renderer-like-button like-button-renderer-like-button-unclicked yt-uix-post-anchor yt-uix-tooltip" type="button" onclick=";return false;" title="Мне понравилось" aria-label="Видео понравилось вам и ещё 12 622 пользователям" data-position="bottomright" data-post-data="se=8pH38AERCAASDQoLVmZKS1p6WWdaNjg%3D&itct=CDcQpUEiEwjmlsPLucnaAhUHFrIKHcKrA3co-B0" data-orientation="vertical" data-force-position="true" data-post-action="/service_ajax?name=likeEndpoint"><span class="yt-uix-button-content">12 622</span></button> 2 ------------------- <button id="button" class="style-scope yt-icon-button" aria-label="Видео понравилось вам и ещё 54 пользователям"><yt-icon class="style-scope ytd-toggle-button-renderer"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false" class="style-scope yt-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope yt-icon"> <path d="M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91l-.01-.01L23 10z" class="style-scope yt-icon"></path> </g></svg> </yt-icon></button>
-
@neizwestnyi00
вот же секта свидетелей xpath,общие слекторы бы ли бы
[class*="button-renderer"] [class*="style-scope"]
очевидно что они не будут уникальными, маловероятно что это признак лайка
можно проверять[class*="toggle"] [class*="like"]
поочереди
-
Я было дело тоже намучился с селекторами для ютуб. Селекторы там действительно меняются. Моим решением было:
- Переход на работу с мобильной версией
- Ограниченный список ЮА на которых все корректно работает.