例如,点击页面A中的按钮,打开了新的页面B,如何操作页面B中某一个元素呢?
只需在页面A中的点击事件后,增加两行代码:
#移动句柄为当前页面 windows = driver.window_handles driver.switch_to.window(windows[-1])
添加完这两行代码后,就可以直接定位到页面B中的元素了,可对页面B中的元素进行操作。
脚本中可对该方法进行进一步封装:
# 切换页面方法
def base_switch_to_window(self, title):
self.base_get_title_handle(title)
# 获取指定的title页面的handle方法
def base_get_title_handle(self, title):
# 获取当前页面所有的handles
for handle in self.driver.window_handles:
# 切换至当前handle
self.driver.switch_to.window(handle)
# 获取当前页面的title,并判断是否等于指定的参数的title
if self.driver.title == title:
# 返回handle
return handle