現在有一個場景是需要進入到 Canvas畫布中 進行單擊操作,現在使用過如下方法
canvas = driver.find_element_by_xpath("//canvas[@id='#canvas']") actions.move_to_element(canvas).move_by_offset(600, 270).click().release().perform()
報錯如下
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
經過改寫后,可以正常運行
ActionChains(driver).move_to_element(canvas).move_by_offset(85,27).pause(2).click().perform()
確還是沒有搞懂為什么 action = ActionChains(),在用action 去執行別的步驟就會出錯;個人理解可能是之前action 在別的界面執行過操作,把前后不同的鼠標操作當成了一個場景里的不同操作,而界面變化后,導致場景找不到,才報錯提示。