現在有一個場景是需要進入到 Canvas畫布中 進行單擊操作,現在使用過如下方法
# 進入畫布 650 270
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 在別的界面執行過操作,把前後不同的鼠標操作當成了一個場景裏的不同操作,而界面變化後,導致場景找不到,才報錯提示。