在写取消订单的自动化过程种,点击取消按钮打开了新页面,导致定位不到元素,原因是:窗口句柄还是当前页面并没在新打开的页面,所以定位不到新页面的元素,为此写了一个方法切换窗口句柄
代码示例:
#获取与切换窗口句柄
def switch_to_window_handles():
global driver
try:
# 获取当前窗口句柄
now_handle = driver.current_window_handle
# 获取所有窗口句柄
all_handles = driver.window_handles
# 循环遍历所有新打开的窗口句柄
for handle in all_handles:
if handle != now_handle:
# 切换窗口
driver.switch_to.window(handle)
except Exception as e:
print(traceback.format_exc())
raise e
调用这个方法就可以切换到新的浏览器页面,可以继续操作页面元素,查找了些资料,不会的同学可以参考下:
python selenium + web自动化,切换到新的窗口,元素定位不到? - 刚刚好1 - 博客园