Как кликнуть на onclick
На сайте есть ссылки без значения href.
Как мне на них кликнуть?
Ссылка:
<a onclick="funcjs['go-serf']('1992','666b88a2c584fee35ce3fa72b5a59fdf');return false;" title="тут разные ссылки" style="cursor:pointer;">Топовый букс! Присоединяйтесь!</a>
<a onclick="funcjs['go-serf']('6088','666b88a2c584fee35ce3fa72b5a59fdf');return false;" title="тут разные ссылки" style="cursor:pointer;">2000 рублей за пару минут!</a>
У ссылок общее только начало в onclick: funcjs['go-serf'].
Пытался так, но выдаёт ошибку:
self.driver.find_element_by_xpath("//a[contains(@onclick,'funcjs['go-serf']')]").click()
Error:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//a[contains(@onclick,'funcjs['go-serf']')]' is not a valid XPath expression. (Session info: chrome=89.0.4389.90)
Ответы (1 шт):
Автор решения: Daniil Loban
→ Ссылка
Там где вы посмотрели комманду есть:
br.find_element_by_css_selector("a[onclick^='fastener']").click()
где значек ^ означает совпадение с начала строки у Вас этого нет.
Согласно картинке нужно сделать:
"//a[@onclick^='funcjs['go-serf']')]"
(возможно придется экранировать вложенные одинарные кавычки)
Можно попробовать взять xpath предварительно в браузере если ссылки не меняются каждый раз:

