Не могу кликнуть на кнопку при помощи webdriver
Пытаюсь нажать на кнопку "Показать полностью" на страничке - введите сюда описание ссылки
Мой код выглядит так:
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
url = "https://m.sima-land.ru/4351019/podushka-ekonom-i-ya-70-70-bambuk-chehol-ultrastep-cv-miks-p-e/"
s = Service(r"C:\Users\Админ\Desktop\PyCharm\qwerty\chromedriver.exe")
driver = webdriver.Chrome(service=s)
try:
driver.get(url=url)
sleep(1)
driver.find_element("//*[contains(text(),‘Показать полностью’) ] ").click()
sleep(3)
except Exception as ex:
print(ex)
finally:
sleep(3)
driver.close()
driver.quit()
Мне выдаётся ошибка:
find_element_by_* commands are deprecated. Please use find_element() instead driver.find_element_by_xpath("//*[contains(text(),‘Показать полностью’) ] ").click()
И обрабатывается исключение:
Message: invalid selector: Unable to locate an element with the xpath expression //*[contains(text(),‘Показать полностью’) ] because of the following error:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//*[contains(text(),‘Показать полностью’) ] ' is not a valid XPath expression.
(Session info: chrome=96.0.4664.110)
Stacktrace:
Backtrace:
Ordinal0 [0x00E96903+2517251]
Ordinal0 [0x00E2F8E1+2095329]
Ordinal0 [0x00D32848+1058888]
Ordinal0 [0x00D34F44+1068868]
Ordinal0 [0x00D34E0E+1068558]
Ordinal0 [0x00D35070+1069168]
Ordinal0 [0x00D5D1C2+1233346]
Ordinal0 [0x00D5D63B+1234491]
Ordinal0 [0x00D87812+1406994]
Ordinal0 [0x00D7650A+1336586]
Ordinal0 [0x00D85BBF+1399743]
Ordinal0 [0x00D7639B+1336219]
Ordinal0 [0x00D527A7+1189799]
Ordinal0 [0x00D53609+1193481]
GetHandleVerifier [0x01025904+1577972]
GetHandleVerifier [0x010D0B97+2279047]
GetHandleVerifier [0x00F26D09+534521]
GetHandleVerifier [0x00F25DB9+530601]
Ordinal0 [0x00E34FF9+2117625]
Ordinal0 [0x00E398A8+2136232]
Ordinal0 [0x00E399E2+2136546]
Ordinal0 [0x00E43541+2176321]
BaseThreadInitThunk [0x7526FA29+25]
RtlGetAppContainerNamedObjectPath [0x77037A9E+286]
RtlGetAppContainerNamedObjectPath [0x77037A6E+238]
Есть несколько предположений, почему у меня не работает код. Возможно я скачал не тот драйвер. Я скачивал для win32, хоть и использую win64. Если верить интернету, то эта версия должна работать на любой разрядности. Скорее всего я неправильно ищу элемент. Я пробовал следовать указаниям в ошибке и писать:
driver.find_element("//*[contains(text(),‘Показать полностью’) ] ").click()
Но тогда я получаю схожую ошибку с теми же Stacktrace и Backtrace:
Message: invalid argument: invalid locator
Всё это осложняется тем, что на страничке 4 одинаковые кнопки с одинаковыми классами, иначе, я бы смог найти её по классу