python selenium list index out of range

常見錯誤原因

  常見錯誤原因

 

其他錯誤原因

  場景

    使用selenium循環打開並跳轉到新的網頁,然後關閉新的窗口,然後回到原來窗口,這時候獲取list中的值,報錯: list index out of range。

  原因

    由於打開新的窗口,導致list中的值過期了,這時候你通過 item = list[0]進行取值的話就會報這個錯誤,這時候你打印一下list,就會打印出來空數組

  解決

    循環的時候不再循環這個獲取到的dom元素list,而是循環這個list的長度,然後每次循環開始的時候都獲取一下這個list,在for循環中就可以獲取元素,不會報錯了

list = browser.find_elements_by_link_text("開始學習")
length = len(list)
print(f'循環開始前============len(list):{len(list)}')
print(f'循環開始前-----------len(list):{length}')
for i in range(length):
    list = browser.find_elements_by_link_text("開始學習")
    print(f'循環中============list:{list}')
    print(f'循環中============len(list):{len(list)}')
    print(f'i:{i},range(length):{range(length)}')
    element = list[i]
    print('element.click執行前')
    element.click()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章