在使用selenium時,報了一個錯誤
報錯的原因:
所引用的元素已過時,不再依附於當前頁面。通常情況下,這是因為頁面進行了刷新或跳轉
解決方法:
重新定位元素
代碼示例:
# 舊代碼(報錯) lists = self.root.find_elements_by_xpath('/html/body/table[4]/tbody/tr[2]/td/a') for i in lists: self.root.get(i.get_attribute(''href))
# 新代碼(解決方法) lists = self.root.find_elements_by_xpath('/html/body/table[4]/tbody/tr[2]/td/a') for j in range(len(lists)): self.root.find_elements_by_xpath('/html/body/table[4]/tbody/tr[2]/td/a')[j].click()