webdriervAPI(多窗口切换)
两个方法
driver.current_window_handle 获取当前窗口句柄
driver.window_handles 获取所有窗口句柄
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
from selenium.common.exceptions import NoSuchElementException driver = webdriver.Chrome() driver.implicitly_wait()
url = "http://192.168.117.9/bbs/upload/forum.php"
driver.get(url) try:
"""清除cookies"""
driver.delete_all_cookies() """登录"""
driver.find_element(By.ID, 'ls_username').send_keys('admin')
addr = driver.find_element(By.NAME, 'password')
addr.clear()
addr.send_keys('admin')
'''提交登录'''
driver.find_element(By.CSS_SELECTOR, "[type='submit']").click()
sleep() """获取首页窗口句柄"""
home_windows = driver.current_window_handle
print(home_windows) """进入管理中心"""
driver.find_element_by_css_selector("[href='admin.php']").click()
sleep() """获取所有窗口句柄"""
all_windows = driver.window_handles
print(all_windows) """切换窗口"""
for i in all_windows:
if i != home_windows:
"""切换到指定的window_name页签"""
driver.switch_to.window(i)
now_url = driver.current_url
print(now_url)
sleep() """返回首页窗口"""
for v in all_windows:
if v == home_windows:
driver.switch_to.window(v)
print(driver.current_url) except NoSuchElementException as e:
print(e) finally:
"""关闭当前窗口"""
# driver.close()
"""关闭浏览器"""
sleep()
driver.quit()
webdriervAPI(多窗口切换)的更多相关文章
- Qt界面编程之多窗口切换
1.基础知识 信号和槽 信号和槽都是函数,用来完成信号间的协同操作 2.多窗口切换实例 功能 实现登录和重新登录功能 组成 登录界面 和主窗体界面 3.源代码提供
- selenium测试(Java)--多窗口切换(十三)
selenium测试(Java)--多窗口切换(十三) 如果遇到点击按钮或链接后出现新窗口的情况,就需要使用窗口切换的方法. 本例中就是先打开百度搜索界面,然后利用js打开一个百度新闻界面,然后通过s ...
- eclipse中的窗口切换快捷键
Ctrl+Shift+F6 很简单,如果以后改用IDEA的话就没用了,但这个窗口切换确实很复杂,看起来也操作比较快.
- selenium多个窗口切换
浏览器里面支持多窗口打开,例如这样: html里面写了: target="_blank" 造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开 ...
- 在C#里实现各种窗口切换特效,多达13种特效
原文:http://www.cnblogs.com/clayui/archive/2011/06/28/2092126.html 预览: 下载 这次clayui给大家带来了比较实用的东西,因为时间 ...
- Selenium_WebDriver_多窗口切换
摘要: 版权声明:本文为博主原创文章,转载请注明出处. 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时我们如果需要操作新打开的页面,就需要将主机切换到新打开的窗口上再进行操作,比如博客园精华页 ...
- Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换
本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1 浏览器控制 Selenium-webdriverAPI提供了对页面元素定位 ...
- Selenium 3----定位一组元素+多表单切换+多窗口切换
定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_e ...
- qt布局管理-缩放、多窗口切换
关于缩放的布局 所有控件要求与主窗口同时缩放,那么在所有控件设置好布局后,最后点击最外侧的主控件,选择水平布局或者垂直布局即可. 另外每个空间的属性可更改,如SizePolicy用于设置空间是否可缩放 ...
随机推荐
- java+HTML5实现断点续传
一. 大文件上传基础描述: 各种WEB框架中,对于浏览器上传文件的请求,都有自己的处理对象负责对Http MultiPart协议内容进行解析,并供开发人员调用请求的表单内容. 比如: Spring 框 ...
- 2018 焦作网络赛 G Give Candies ( 欧拉降幂 )
题目链接 题意 : 给出 N 个糖果.老师按顺序给 1~N 编号的学生分配糖果.每个学生要么不分.要么最少分一个.且由于是按顺序发放.那么对于某个有分到糖果的编号为 i 的学生.则 1~(i-1) 这 ...
- nginx 配置文件 2019-12-20
cat /etc/nginx/nginx.conf user nginx; worker_processes ; error_log /var/log/nginx/error.log warn; p ...
- jq获取页面中checkbox已经选中的checkbox
var len=$("input[name='bike']:checked").length; //len为0未选中
- 90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来
1.for 循环 我们大部分的时候代码里面都有for循环,然后里面嵌套一段逻辑处理,下面有两种方法来完成: 二者的性能差距有多大呢,一般我们用内置的timeit模块来量化比较: 把传统的for改成推导 ...
- Vue_(基础)Vue中的事件
Vue.js中文文档 传送门 Vue@事件绑定 v-show:通过切换元素的display CSS属性实现显示隐藏: v-if:根据表达式的真假实现显示隐藏,如果隐藏,它绑定的元素都会销毁,显示的时候 ...
- Centos安装成功后配置网络
一.设置IP地址.网关DNS 说明:CentOS 7.0默认安装好之后是没有自动开启网络连接的! cd /etc/sysconfig/network-scripts/ #进入网络配置文件目录 vi i ...
- Java多线程核心知识(跳槽面试必备)
多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲.在平时工作中如若使用不当会出现数据错乱.执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关 ...
- LoadRunner 技巧之 思考时间设置
LoadRunner 技巧之 思考时间设置 用户访问某个网站或软件,一般不会不停地做个各种操作,例如一次查询,用户需要时间查看查询的结果是否是自己想要的.例如一次订单提交,用户需要时间核对自己填写的信 ...
- 2019.12.24 【ABAP随笔】smartforms 打印及PDF转化
冬至已过,又临平安夜和圣诞,又是一年的末尾,闲暇时间需要静下心来温故而知新. 许久未碰打印,知识于脑子又有几分糊涂,遂整理些许知识,记录. 数据随便取于物料表 report Z_smartforms ...