selenium锁定JS弹出框中的元素

在自动化测试的过程中,遇到在一个页面打开一个弹出框后,不能够锁定弹出框内的元素,页面提示元素不能访问。

引起这种问题的原因可能是因为selenium的还是在老的页面上进行搜索,没有将搜索元素的方法放在弹出框上进行搜索,所以需要将selenium的焦点放在新的弹出框上,语句为:driver.current_window_handle

driver.find_element_by_xpath(".//*[@id='tb']/div[1]/dl/dd[2]").click()
# 将焦点锁定在新的弹出框上
driver.current_window_handle
driver.find_element_by_xpath(".//*[@id='editForm']/li[4]/span/span/span").click()
sleep(3)
driver.quit()

 如上图所示,使用切换焦点的语句后,可以顺利的锁定弹出框内的元素。

原文地址:https://www.cnblogs.com/liyuhang/p/6701760.html