大家都知道,selenium中对页面元素的操作都是基于当前页面进行操作的,有时会有这种情况,在这个页面操作完一个步骤后,要去另一个页面查看,这就涉及到页面间的操作

 # -*- coding:utf-8 -*-
'''
Created on Oct 17, 2018 Comment:
'''
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(20)
driver.get("http://news.baidu.com/") # 打开百度新闻首页
driver.find_element_by_partial_link_text("十九大精神").click() # 打开一个新窗口
handle = driver.window_handles # 获取所有打开窗口的句柄
driver.switch_to_window(handle[-1]) # 打开最后一个窗口
time.sleep(5) # 加延时,以防页面还未完全加载完成就被关掉了
driver.close() # 关闭最后一个窗口
driver.switch_to_window(handle[0]) # 打开第一个窗口
time.sleep(3)
driver.close() # 关闭第一个窗口

总结:对一个页面操作完并close之后,一定要先进行切换到目标窗口方可进行操作,否则会提示错误或者找不到元素,因为如果不进行切换操作,程序会认为你当前还处理原来界面,但是原来界面已经被关掉了,所以就报错了。

最新文章

  1. 使用C#模拟Outlook发送邮件,代码编译报错
  2. 基于EasyUI的Web应用程序及过去一年的总结
  3. Android之mtk上传log
  4. TP中的session和cookie
  5. 基础才是重中之重~AutoMapper为已有目标对象映射
  6. [Reprint]c++ 析构函数的调用
  7. 随机提取N条记录[多种数据库方法]
  8. 【leetcode】12. Integer to Roman
  9. python学习第十三天 -模块和包
  10. 说出x的结果,并解释为什么?
  11. bootstrap 响应式导航条模板(含下拉菜单,弹出框)
  12. Visio如何调整锁定图像大小
  13. [爬虫]Scrapy 错误ordinal not in range(128)
  14. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一)转载自码农网
  15. git 本地推送远程仓库报错: error: failed to push some refs to 'https://github.com/yangtuothink/mxonline.git'
  16. Android 中的缓存
  17. eclipse测试链接sql server2008 数据库
  18. P2336 [SCOI2012]喵星球上的点名(后缀自动机+莫队+dfs序)
  19. (转)C# Xml进行序列化与反序列化
  20. Linux下安装Nginx详细图解教程 (nginx-1.2.6)

热门文章

  1. 常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战.
  2. centos6.10搭建ELK之elasticsearch6.5.4
  3. window7环境下ZooKeeper的安装运行及监控查看
  4. Jmeter配置通过SSH连接的mysql数据库
  5. [转]完整记录在 windows7 下使用 docker 的过程
  6. MVC中 jquery.validate取消忽略对hidden的验证
  7. @RequestBody发送请求报400错误
  8. linux学习笔记-安装配置使用clamav杀毒软件
  9. curl 发送 post 请求
  10. PHP7.27: connect mysql 5.7 using new mysqli_connect