Как получить элемент по функции onclick(). python selenium
<span onclick="funcjs['start_youtube'](70581, '7afde6cb0ce7df9014b2e73e293a524a', 'likes-start', 'likes');" title="https://www.youtube.com/watch?v=mBfhPKGzF0w" style="cursor:pointer;color:#006699;">Лайкосик Под Видосик</span>
Подобных элементов,но с разным тексом внутри много, мне их нужно получить, чтобы потом на них кликнуть.
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Можно css-селектором span[onclick] через метод find_elements_by_css_selector найти такие элементы. Если нужно еще и содержимое учитывать, то span[onclick^=funcjs]:
for el in driver.find_elements_by_css_selector('span[onclick^=funcjs]'):
print(el)
- ℹ️
^=ищет по началу значения, т.е.onclick^=funcjs- поиск тегов, у которых есть атрибутonclick, чье значение начинается сfuncjs - ℹ️
*=ищет по нахождению значения в атрибуте, т.е.style*="color:#006699"- поиск тегов с атрибутомstyle, у которого в значении есть строкаcolor:#006699
Если нужно ориентироваться на стиль, то ищем по атрибуту style, покажу сразу пример с двумя условиями:
span[onclick^=funcjs][style*="color:#006699"]