怎么处理IndexError:列出索引超出范围?

时间:2019-05-24 18:44:13

标签: python selenium

您好,因此我尝试使用selenium单击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 个答案:

答案 0 :(得分:2)

此行:

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告诉您假设是错误的:在这种情况下,列表为空。