一个学生在操作页面跳转时遇到一个Selenium报错, 如下图所示:

StaleElementReferenceException:  Message: stale element reference: element is not attached to the page document ...

Selenium报错:StaleElementReferenceException-LMLPHP

出错原因为: Selenium只能操作当前打开页面中的可见元素,当页面跳转, 前进, 后退, 或刷新后, 之前定位到的元素要重新定位才能使用.

可以尝试运行以下脚本, 查看报错信息:

from selenium import webdriver

dr = webdriver.Chrome()
dr.get('http://www.baidu.com')
search = dr.find_element_by_id("kw") dr.refresh()
# search.send_keys("刷新后输入") # 报错: StaleElementReferenceException dr.get("http://www.hao123.com")
# search.send_keys("刷新后输入") # 报错: StaleElementReferenceException
dr.back()
search.send_keys("刷新后输入") # 报错: StaleElementReferenceException
05-15 01:08