@Wildberies said in Как проверить регуляркой?:
Пример текста:
Hi here is CGKvsYgXkfJAPLWCEMQtrb73E5jcDqk5TUyHEP8d1BL8 , want to join!
[A-z\d]{15,}
Приветствую коллеги.
Такой вопрос
Пример как лайк выдаётся у меня
Нет лайка
<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
@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 Примеры разного кода кнопки, от разных отпечатков.
@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"]
поочереди
Я было дело тоже намучился с селекторами для ютуб. Селекторы там действительно меняются. Моим решением было: