当我们点击某个链接时,切换换到另一个窗口,这时就需要跟随切换到新打开的页面,去定位元素。

1、获取当前页面句柄  current_window_handle

importtimefrom selenium importwebdriver

driver=webdriver.Chrome()

driver.get("http://www.baidu.com")

driver.maximize_window()

handle= driver.current_window_handle #获取当前页面句柄

print(handle)

driver.quit()

2、当我们点击了某个链接,打开新窗口时,这时取全部窗口的句柄   window_handles

from selenium importwebdriver

driver=webdriver.Chrome()

driver.get("http://www.baidu.com")

driver.maximize_window()

driver.find_element_by_xpath('//*[@id="s-top-left"]/a[5]').click() #点击百度首页的贴吧,新窗口

all_handles =driver.window_handlesprint(all_handles)

driver.quit()

这里虽说开了新窗口,但是句柄还是在百度首页,也就是说要在百度帖吧页面的操作,元素的定位都是在百度首页,这时就需要切换句柄,也就是切换到百度贴吧这个页面。

from selenium importwebdriver

driver=webdriver.Chrome()

driver.get("http://www.baidu.com")

driver.maximize_window()

handle=driver.current_window_handleprint(handle) #百度首页的句柄

driver.find_element_by_xpath('//*[@id="s-top-left"]/a[5]').click() #切换到百度贴吧页面

all_handles =driver.window_handlesprint(all_handles) #获取所有窗口的句柄

now_handle = driver.current_window_handle #这个时候窗口已经切换到百度贴吧了,但是句柄还是百度首页的

print(now_handle)

3、这时,句柄切换到百度贴吧页面 , 这里有两个方法,老版本的是  switch_to_window ,  新版本的是   switch_to.window,(这里选择我是用的新的,个人习惯)

需要穿一个参数,也就是句柄参数。

from selenium importwebdriver

driver=webdriver.Chrome()

driver.get("http://www.baidu.com")

driver.maximize_window()

handle=driver.current_window_handleprint(handle) #百度首页的句柄

driver.find_element_by_xpath('//*[@id="s-top-left"]/a[5]').click() #切换到百度贴吧页面

all_handles =driver.window_handlesprint(all_handles) #获取所有窗口的句柄

new_handles = all_handles[-1] #从所有句柄的集合中,获取最后那个,也就是最新的了

driver.switch_to.window(new_handles) #然后当参数传递进来

now_handles = driver.current_window_handle #查看现在的句柄

print(now_handles)

driver.quit()

查看结果,可以看到句柄已经切换到新窗口

可以看到窗口句柄已经切换过来了,可以在新窗口操作元素了,快去试试吧。

python自动切换链接_python+selenium自动化(四)之selenium切换窗口相关推荐

  1. python自动操作微信_Python + Appium 自动化操作微信入门

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云,作者:Python小二 简介 Appium 是一个开源的自动 ...

  2. python自动操作微信_Python + Appium 自动化操作微信

    环境 本文主要环境如下: Win10 JDK1.8 Appium Python3.7 android-sdk mumu 模拟器 JDK 下载地址:https://www.oracle.com/java ...

  3. python自动输入验证码_python下的自动化测试--selenium 验证码输入问题

    之前一直在研究scrapy下数据抓取,在研究ajax数据抓取时碰巧研究了一下selenium,确实很实用,不过只做scrapy下的数据抓取,不怎么合适,一是性能的损耗,一直需要开一个浏览器,二是对于爬 ...

  4. python自动登录教程_python+selenium实现163邮箱自动登陆的方法

    本文介绍了 让我们先来预览一下代码运行效果吧: 首先分析163邮箱登陆页面的网页结构(按F12或单击鼠标右键选择审查元素) 1.定位到登陆框(注意登录框是一个iframe,如果不定位到iframe的话 ...

  5. python自动办公知识点_Python自动化办公知识点整理汇总|简明python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? ​ 这可能是很多非IT职场人士面临的困 ...

  6. python自动交易脚本_python交易库 Python自动化交易 - 网银支付 - 服务器之家

    python交易库 Python自动化交易 发布时间:2017-04-06 来源:服务器之家 大家好,今天我们来讨论一下如何用python来做一个简单的自动化交易程序. 在讨论具体的技术前,我要先声明 ...

  7. python自动登录教程_Python 实现自动登录+点击+滑动验证功能

    需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了 在这里我模拟了csdn的登录过程 ** 1**.首先打开网页,用户名+密码登录,然后定位用户名输入框,和密码 ...

  8. python自动测试p-python网络爬虫之自动化测试工具selenium[二]

    @ 前言 hello,大家好,在上章的内容里我们已经可以爬取到了整个网页下来,当然也仅仅就是一个网页. 因为里面还有很多很多的标签啊之类我们所不需要的东西. 额,先暂且说下本章内容,如果是没有丝毫编程 ...

  9. python 自动登录方法_Python自动登录126邮箱的方法

    本文实例讲述了Python自动登录126邮箱的方法.分享给大家供大家参考.具体实现方法如下: import sys, urllib2, urllib,cookielib import re cooki ...

最新文章

  1. 关于IT企业如何建立内部wiki
  2. Apache运行机制剖析
  3. HTTP基础及基本配置
  4. Linux配置keepalived实现nginx高可用安装过程记录
  5. FreeRTOS---堆内存管理(一)
  6. 一篇搞懂HTTP协议
  7. sap 一代增强_在SAP故乡,感受“边缘智能”之变
  8. 扎克伯格拒绝参加加拿大议会 或因藐视罪名被拘留
  9. selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)
  10. CnCiswumWN
  11. spark的三大数据结构
  12. Java调用R与Python
  13. 【Unity面试】 Unity基础核心 | 面试真题 | 全面总结 | 建议收藏
  14. 无人机/FPV穿越机航模的遥控器/接收机等配件厂商
  15. w ndows7调亮度快捷键,Windows7电脑亮度怎么调?
  16. 直播带货系统开发,如何实现一个简单的直播平台
  17. 最新版CameraX入门(拍照、存储展示、切换前后摄像头、手电筒、闪光灯、手势伸缩、双击放大缩小)
  18. 爬取楼盘网并将数据保存在excel表中
  19. 从原理到CMOS图像传感器玩家,一文读懂手机摄像头所有猫腻
  20. Gym - 102263 B - Road to Arabella

热门文章

  1. 什么是脏读、幻读、不可重复读、可重复读
  2. python财务案例分析考试答案_《财务案例分析》作业及答案(三次).
  3. 2022-5-8 Leetcode 112-113 路径总和
  4. 学习Linux命令(44)
  5. 2022-3-17 MIT 6.828 Lab 3: User Environments | Part A: User Environments and Exception Handling
  6. 客观的评价西北工业大学
  7. 带头结点单链表、不带头结点单链表(头指针单链表)
  8. 民宿预订三国杀:木鸟进攻、途家守业、美团观望
  9. 2021-05-18Leetcode96.不同的二叉搜索树
  10. 25000字总结Android优秀的第三方框架、各种学习资料汇集 一 系统组件、Design组件、自定义组件等等