python3 selenium自动化多窗口的切换

在web自动化测试过程中,有时候点击某个链接时会弹出一个新的窗口,此时我们直接定位的话就会报错,我们应该先切换到要定位的窗口,再去定位要定位的元素。
在这里插入图片描述

以上是两个窗口,假如我要定位右边的窗口的元素,那我先切换到第二个窗口才能定位。
以下我要实现在https://www.so.com/页面,点击‘360导航’,然后切换到新的窗口,搜索‘shawn’。代码如下:

dr = webdriver.Chrome()
dr.get('https://www.so.com/')
dr.implicitly_wait(10)

dr.find_element_by_link_text('360导航').click()

#获取当前的窗口句柄
window1 = dr.current_window_handle

#获取所有打开的窗口句柄
all_windows = dr.window_handles

#使用for循环遍历窗口,再用if判断语句,找到要定位的窗口
for handle in all_windows:
    if handle != window1:
        dr.switch_to.window(handle)
        dr.find_element_by_id('search-kw').send_keys('shawn')
        dr.find_element_by_id('search-kw').submit()

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值