多窗口、多浏览器和网页frame处理

本文介绍了如何使用selenium在Python中处理多窗口场景,包括获取和切换窗口句柄,以及处理frame,包括识别和切换多个frame,特别讨论了frame的分类和嵌套情况。此外,还提及了selenium对不同浏览器如Chrome、Firefox和headless模式的支持,以进行浏览器兼容性测试。
摘要由CSDN通过智能技术生成

selenium里面处理多窗口场景:
1. 多个窗口识别
2. 多个窗口之间切换
多窗口处理:
出现原因:点击某些链接,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口
操作:获取窗口的唯一标识用句柄表示,所以只需要切换句柄,就鳄鱼在多个页面灵活操作了
多窗口处理流程:
1. 先获取到当前的窗口句柄(driver.current_window_handle)
2. 再获取到所有的窗口句柄(driver.window_handles)
3. 判断是有事想要操作的窗口,如果是,就可以对窗口进行操作,如果不是,跳转到另外一个窗口,对另一个窗口进行操作(driver.switch_to_window)
举例:

def test_switchwindows(self):
    # 进入百度页面
    self.driver.get('https://www.baidu.com/')
    # 点击登录按钮
    self.driver.find_element_by_link_text("登录").click()
    # 输出当前页面句柄
    print(self.driver.current_window_handle)
    # 点击弹窗内立即注册
    self.driver.find_element_by_link_text("立即注册").click()
    # 获取当前页面句柄
    print(self.driver.current_window_handle)
    # 获取全部窗口句柄
    print(self
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值