python 3.6 + selenium+Firefox 定位新打开的窗口web元素

编写自动化测试脚本的时候,肯定会遇到打开新窗口后进行操作的场景,当一个新窗口被打开后,原有的driver实例还是处在第一个窗口的状态,无法定位新窗口的页面元素,此时需要切换driver到新窗口,才能进行操作。

切换有两种方法:
方法一:

for handle in browser.window_handles:
    browser.switch_to_window(handle)

#此方法始终切换到最后一个web窗口

方法二:

driver.switch_to_window(browser.window_handles[1])

#通过参数window_dandles[1]可以精准定位选择切换到第二个新窗口

两个方法在python 3.6+selenium+Firefox环境下都亲测有效

def open_news_page(webinfo_dict):
    print(str(webinfo_dict['news']))
    driver.find_element_by_link_text(webinfo_dict['news']).click()
    time.sleep(15)
    #for handle in driver.window_handles:  # 方法一,切换到目前窗口的最后一个
    #    driver.switch_to_window(handle)
    driver.switch_to_window(driver.window_handles[1]) #方法二,切换到第二个网页窗口  
  driver.find_element_by_xpath('/html/body/div/div[2]/div[1]/div/div/div[2]/ul/li[3]/a').click()
    time.sleep(5)
    check_news(driver,webinfo_dict,log)
    log.log_close()

参考:https://blog.csdn.net/mrlevo520/article/details/51926145/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值