使用selenium时,会遇到这样的场景:
我们在打开一个页面后,点击其中某一处链接,跳转到一个新页面,获取新页面中的内容,完成后再切换回老页面,如何操作??
wd = webDriver.chrome("webDriver路径")
wd.implicitly_wait(5)
wd.get("http://******")
link = wd.get_elment_by_tag("XX")
link.click()
# 获取窗口的标题信息,但是这样获取的是当前页的信息,并不是新打开的页面的标题信息
print(wd.title)
如何跳转到新页面,并再次跳转回老页面呢?
wd = webDriver.chrome("webDriver路径")
# 记录一下当前handle(为了跳转回该页面做铺垫)
currentHandle = wd.current_window_handle
wd.implicitly_wait(5)
wd.get("http://******")
link = wd.get_elment_by_tag("XX")
link.click()
# 跳转到新的想要跳转的页面
for handle in wd.window_handles:
# 切换到新的页面
wd.switch_to.window(handle)
# 可以在新的页面中找到一些特有属性,作为判断依据
if "XXX" in handle.title:
break
# 这时因为已经跳转到想要跳转的页面了,所以此时的标题就是新页面的标题了
print(wd.title)
# 如何跳转回老页面
①使用类似上面跳转新页面的方法
②使用上面记录的老页面的句柄,然后调用:
wd.switch_to.window(currentHanle)