TypeError: объект «WebElement» не может быть подписан - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь нажать кнопку воспроизведения в Spotify Web Player с Python, но получаю эту ошибку. Как я могу нажимать кнопки в веб-плеере?

replay = driver.find_element_by_xpath("""/html/body/div[2]/div/div[4]/div[3]/footer/div/div[2]/div/div[1]/div[5]/button""")[0]
replay.click()

ОШИБКА:

replay = driver.find_element_by_xpath ("" "/ html / body / div [2] / div /div [4] / div [3] / нижний колонтитул / div / div [2] / div / div [1] / div [5] / button "" ") [0] TypeError: объект 'WebElement' не может быть подписан

Спасибо:)

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019
find_element_by_xpath

возвращает первый найденный элемент (не массив)

find_element_by_xpath(...).click()

или

find_elements_by_xpath(...)[0].click()
0 голосов
/ 06 ноября 2019

Как прокомментировал @ KunduK , удалите [0].

Вы используете абсолютный xPath, это не рекомендуется.

Попробуйте использовать относительный xPath ...

Если есть несколько кнопок и вам нужна первая, используйте [0] в xpath следующим образом:

replay = driver.find_element_by_xpath("""/html/body/div[2]/div/div[4]/div[3]/footer/div/div[2]/div/div[1]/div[5]/button[0]""")
replay.click() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...