在web自动化测试时,点击密码输入时,元素定位不了,经分析是页面重新进行了刷新,报错信息如下:selenium.common.exceptions.StaleElementReferenceException:Message:stale element reference:element is not attached to the page document
举个栗子:有一个用户名密码的输入框,定位不到
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("url")
elem_username = driver.find_element_by_id("username")
elem_username.send_keys("xxx")
elem_password = driver.find_element_by_id("password")
elem_password.send_keys("password")
以上代码在定位两个输入框的时候报错:selenium.common.exceptions.StaleElementReferenceException:Message:stale element reference:element is not attached to the page document
解决办法:先选中元素,选完以后点击输入框,再重新定位元素,定位完以后再执行send_keys(),问题解决
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("url")
elem_username = driver.find_element_by_id("username")
elem_username.click()
elem_username = driver.find_element_by_id("username")
elem_username.send_keys("xxx")
elem_password = driver.find_element_by_id("password")
elem_password.click()
elem_password = driver.find_element_by_id("password")
elem_password.send_keys("password")