如何解决使用move_to_elementperform
我正在使用Selenium和Python将鼠标悬停在警告图标上并获得工具提示。我已经使用了ActionChains。 悬停动作首次成功。将鼠标悬停在另一个警告图标上时,相同的代码将失败。 (如果我删除了第一个悬停动作,则第二个悬停动作成功,即,悬停动作仅执行一次)。 我得到的错误是:selenium.common.exceptions.StaleElementReferenceException:消息:stale元素引用:元素未附加到页面文档
代码段:
action = ActionChains(self.driver)
Warning_icon = self.driver.find_element_by_xpath("//div/i[@class='fa fa-exclamation-circle']")
assert Warning_icon
action.move_to_element(Warning_icon) .perform()
TooltipMessage = self.driver.find_element_by_xpath("").text
action.release()
编辑1: 即使在move_to_element(other_element)中提到了其他元素,悬停也会发生在相同的警告消息上。 如何使鼠标悬停在新元素上? action.release()在这里似乎不起作用。
解决方法
也许是下面的问题:将鼠标悬停在警告图标上并获得工具提示。之后,您找到下一个元素,并且鼠标正在尝试移动。此时,您当前的工具提示消失,并且DOM更改,并且您正在获取StaleElementReferenceException。
解决方案:让我们将鼠标移至从一个图标移至另一个图标之间的另一元素,或尝试重复几次步骤。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。