1. 常用方法
使用背景:有些网站点击链接会新打开一个tab,如下图打开了两个浏览器窗口;元素定位正确,调试时一直报错,原因是未切换到对应的窗口句柄,切换到对应的窗口句柄才可以正常操作
- current_window_handle:获得当前窗口句柄
- window_handles:获取所有窗口的句柄到当前会话,返回一个窗口句柄列表
- switch_to.window():切换窗口句柄
# -*-coding:utf-8一*-
# @Time:2021/1/14
# @Author: 大海
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
# 获得百度搜索窗口句柄
search_windows = driver.current_window_handle
print(search_windows)
driver.find_element_by_link_text('登录').click()
driver.find_element_by_link_text("立即注册").click()
# 获得当前所有打开的窗口的句柄
all_handles = driver.window_handles
print(all_handles)
# 切换到注册窗口 方式1 通过判断是否与当前窗口句柄一致
for handle in all_handles:
if handle != search_windows:
driver.switch_to.window(handle)
driver.find_element_by_name("userName").send_keys('我是测试小白')
driver.find_element_by_name('phone').send_keys('12345678910')
time.sleep(2)
# 后续步骤省略
# 切换到注册窗口 方式2 通过获取的所有窗口列表的索引切换
# driver.switch_to.window(all_handles[1])
# driver.find_element_by_name("userName").send_keys('我是测试小白')
# driver.find_element_by_name('phone').send_keys('12345678910')
# time.sleep(2)
driver.quit()
今天的文章多窗口的切换可以通过哪种操作来完成_w10窗口全屏快捷键分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/59190.html