что делать с IndexError: список индексов вне диапазона? - PullRequest
0 голосов
/ 24 мая 2019

привет, так что я пытаюсь использовать селен для нажатия на некоторые кнопки на сайте Instagram, но во время выполнения кода это сообщение появляется и приводит к сбою скрипта

button2 = driver.find_elements_by_xpath("/html/body/div[3]/div/div/div[3]/button[2]")[0]
IndexError: list index out of range

для другой кнопки я установил значение под скобкой в ​​0, и это сработало, но теперь я не могу исправить другие кнопки с этим решением

button2 = driver.find_elements_by_xpath("/html/body/div[3]/div/div/div[3]/button[2]")[0]
button2.click()
time.sleep(2)

1 Ответ

2 голосов
/ 24 мая 2019

Эта строка:

driver.find_elements_by_xpath("/html/body/div[3]/div/div/div[3]/button[2]")

возвращает список.Список может содержать ноль или более записей.Когда ваш код индексируется в этом списке, например

driver.find_elements_by_xpath("/html/body/div[3]/div/div/div[3]/button[2]")[0]

, он пытается получить первый элемент списка.Но это означает, что предполагается, что в списке есть хотя бы один элемент.Ошибка list index out of range говорит о том, что предположение неверно: в данном случае список пуст.

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