常見錯誤原因
其他錯誤原因
場景
使用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()