网站有6个链接的顶级菜单。我能得到这个链接是这样的名单:如何用Selenium webdriver和Python逐个点击链接
links = browser.find_elements_by_css_selector(MENU_LINKS_CSS_SELECTOR)
这个我需要点击该链接指向一个个后。如果我这样做:
for link in links:
link.click()
我收到以下错误:selenium.common.exceptions.StaleElementReferenceException: Message: u'Element not found in the cache - perhaps the page has changed since it was looked up'
。据我所知,这个错误引发了因为WebElement
实例和网页的DOM在重新加载页面(点击链接)后中断连接。
在这里,我应该注意到顶级菜单在所有页面上都是一样的。
那么,我做错了什么?如何解决这个问题? TIA!
所以你知道你在收到异常可能是由刷新页面造成的链接被点击。因此,保存的“硒”对列表中下一个链接的引用将不再存在。根据Svineet的回答,每次你想点击下一个链接时,你都需要收集链接列表 - '刷新'每个链接的硒引用。 –