Python模拟浏览器多窗口切换
# 模拟浏览器多窗口切换
# 代码中引入selenium版本为:3.4.3
# 通过Chrom浏览器访问发起请求
# Chrom版本:59 ,chromdriver:2.3
# 需要对应版本的Chrom和chromdriver
# 请联系QQ:878799579
from selenium import webdriver
import time
chrome = webdriver.Chrome()
# 设置窗口最大化
chrome.maximize_window()
# 打开百度首页
chrome.get('http://www.baidu.com')
# 获得当前窗口句柄
nowhandle = chrome.current_window_handle
# 通过js的方式打开新的新闻窗口
chrome.execute_script("window.open('http://news.baidu.com')")
time.sleep(5)
# 输出当前窗口句柄
print(chrome.current_window_handle)
# 获取当前打开所有窗口
allhandles = chrome.window_handles
# 通过循环方式判断窗口是否为当前窗口
for handle in allhandles:
if nowhandle != handle:
# 重新回到百度首页
chrome.switch_to_window(nowhandle)
time.sleep(5)
# 关闭百度首页窗口 ,此时只剩下新闻窗口
chrome.close()
time.sleep(5)
# 退出
chrome.quit()
Python模拟浏览器多窗口切换的更多相关文章
- python 模拟浏览器
想用python模拟浏览器访问web的方法测试些东西,有哪几种方法呢? 一类:单纯的访问web,不解析其js,css等. 1. urllib2 #-*- coding:utf-8 -* import ...
- js监听浏览器tab窗口切换
js监听浏览器tab窗口切换 ——IT唐伯虎 摘要:js监听浏览器tab窗口切换. if (document.hidden !== undefined) { document.addEventLis ...
- 第14.7节 Python模拟浏览器访问实现http报文体压缩传输
一. 引言 在<第14.6节 Python模拟浏览器访问网页的实现代码>介绍了使用urllib包的request模块访问网页的方法.但上节特别说明http报文头Accept-Encodin ...
- 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...
- selenium2-java 浏览器不同窗口切换
1,获取浏览器的单个窗口: String parentWindowid = driver.getWindowHandle(); System.out.println( ...
- python学习之多窗口切换
多窗口切换: from selenium import webdriver d = webdriver.Firefox() d.window_handles #显示所有的窗口 d.current_wi ...
- Python模拟浏览器前进后退操作
# 模拟浏览器前进后退操作 # 代码中引入selenium版本为:3.4.3 # 通过Chrom浏览器访问发起请求 # Chrom版本:59 ,chromdriver:2.3 # 需要对应版本的Chr ...
- python+selenium之多窗口切换
#打开浏览器driver = webdriver.Firefox()driver.get(url)#获取当前窗口now_handle=driver.current_window_handle # 获取 ...
- Java+Selenium3方法篇21-webdriver处理浏览器多窗口切换
经过前面两篇文章的铺垫,我们这篇介绍,webdriver如何处理,一个浏览器上多个窗口之间切换的问题.我们先脑补这样一个测试场景,你在页面A点击一个连接,会在新的tab窗口打开页面B,这个时候,你在页 ...
随机推荐
- 实例一 airflow_failover
源码: https://github.com/teamclairvoyant/airflow-scheduler-failover-controller #怎么判断scheduler是running的 ...
- vim 显示行号 查找的命令简单总结
1. linux vim 进行查找的方法 在command 模式下面 输入 /what-you-search 就可以搜索 注意 n 是向下查找 N 是向上查找 不想搜索了 输入 :set nol 就 ...
- PHP中各种强大的函数
获取时间 data(https://www.cnblogs.com/mrluotong/p/5895375.html):strtotime() <?php echo "今天:&qu ...
- Python学习笔记:流程控制
单分支: if 条件: 满足条件后执行的代码 程序举例: leiyu=28if leiyu > 22: print("You can find girl friend..." ...
- Bootstrap常用插件
Bootstrap自带的那些常用插件. 模态框 模态框的HTML代码放置的位置 务必将模态框的HTML代码放在文档的最高层级内(也就是说,尽量作为 body 标签的直接子元素),以避免其他组件影响模态 ...
- 开始写下自己的python的cocos2d, pyglet学习
开始写下自己的python的cocos2d, pyglet学习 2014年01月18日 13:52:36 我要做程序达人 阅读数 9051更多 分类专栏: python的cocos2d和pyglet ...
- 富文本二进制转换成string
].KindExplain); ) { explainString = explainString.Substring(, explainString.IndexOf() + , explainStr ...
- C#面向对象10 继承
1.继承: **** 我们可能会在一些类中,写一些重复的成员.我们可以将这些重复的成员,单独的封装到一个类中,作为这些类的父类. Student,Teacher,Driver ----子类 派生类 ...
- 帝国cms 修改分页样式
帝国cms 修改分页样式(路径) /e/class/t_functions.php
- Winfrom 简单的进度条小程序
使用Winform空间编写简单的进度条小程序: 所需控件:Lable 标签 TextBox 文本框 progressBar 进度条控件 timer 定时器 下面是源码及效果图: /// &l ...