Python: селен нет такого элемента: невозможно найти элемент: {"method": "xpath", "selector": "// button [@ data-id = 1]"} - PullRequest
0 голосов
/ 11 апреля 2020

Почему я получил эту ошибку no such element: Unable to locate element: {"method":"xpath","selector":"//button[@data-id=1]"}

test.py

zone = Zone.objects.last()
self.browser.refresh()
time.sleep(2)
self.browser.find_element_by_xpath("//button[@data-id="+str(zone.id)+"]").click() # zone.id = 1

Я также пытался с self.browser.find_element_by_id ('update_id _' + str (zone .id)) но не работает :( что не так происходит? html

<button type="button" id="updateButton update_id_2" class="btn btn-xs btn-primary updateButton" data-id="2">
      <i class="fa fa-edit"></i>
</button>

1 Ответ

0 голосов
/ 11 апреля 2020

Из сообщения об ошибке и кода для кнопки я мог видеть, что значение zone.id идет неправильно. Значение zone.id приходит как 1 вместо 2.

Вы можете попробовать использовать,

self.browser.find_element_by_css_selector('.btn.btn-xs.btn-primary.updateButton').click()

или

self.browser.find_element_by_id('updateButton update_id_2').click()

Если вы можете дать немного больше HTML код, я могу дать вам реализацию выше, используя find_element_by_xpath.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...