在自动化测试的过程中,遇到在一个页面打开一个弹出框后,不能够锁定弹出框内的元素,页面提示元素不能访问。
引起这种问题的原因可能是因为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()
如上图所示,使用切换焦点的语句后,可以顺利的锁定弹出框内的元素。