selenium————多窗口切换
来源:互联网 发布:正规淘宝代刷平台app 编辑:程序博客网 时间:2024/05/29 17:38
##################################### 多窗口切换 ,switch_to.window() #####################################from selenium import webdriverfrom selenium.webdriver.firefox.firefox_binary import FirefoxBinaryfrom time import sleep#调用火狐浏览器binary = FirefoxBinary('D:\\安装软件\\火狐浏览器\\firefox.exe')driver = webdriver.Firefox(firefox_binary=binary)#隐式等待driver.implicitly_wait(10)driver.get("http://www.baidu.com")#获得百度搜索句柄baidu= driver.current_window_handleprint(baidu)#点击登录按钮driver.find_element_by_xpath("html/body/div[2]/div/div/div[3]/a[7]").click()driver.find_element_by_link_text("立即注册").click()sleep(2)#获得当前所有打开的窗口all_handles = driver.window_handles#进入注册界面:for handle in all_handles: if handle != baidu: driver.switch_to.window(handle) zcjm = driver.current_window_handle print(zcjm) print("now sreach window") driver.find_element_by_link_text("《百度用户协议》").click() sleep(3)#获得当前所有打开的窗口all_handles = driver.window_handles#进入百度用户协议界面for handle in all_handles: if handle != baidu and handle !=zcjm: driver.switch_to.window(handle) print("即将进入百度协议") driver.find_element_by_link_text("《百度钱包用户协议》").click() print("进入百度协议") sleep(2) #关闭当前浏览器,用户协议界面 driver.close() sleep(3)#进入到百度界面driver.switch_to.window(baidu)driver.find_element_by_id("kw").send_keys("哈哈哈")sleep(3)#关闭当前浏览器,百度搜索界面driver.close()sleep(3)#关闭整个浏览器driver.quit()
当有多个窗口打开并需要来回切换的时候,注意点:
1.用driver.current_window_handle获取当前窗口的句柄并且赋予变量XXX
2.当进入另外一界面的时候,加一个判断:如果不等于
3.只有进入到该页面才能对该页面进行操作
4.如果driver.close() ,关闭的是当前的页面
5.driver.close(XXXX)可以实现,跨窗口关闭
6.driver.quit() 关闭整个浏览器
7.使用driver.switch_to.window(XXX),进入到该句柄的界面
阅读全文
0 0
- selenium————多窗口切换
- python+selenium初级(7)—多窗口切换
- selenium多窗口切换
- selenium多个窗口切换
- python+selenium多窗口切换
- selenium多个窗口操作及切换
- selenium(java)浏览器多窗口切换处理
- python selenium打开新窗口,多窗口切换
- python selenium打开新窗口,多窗口切换
- python selenium打开新窗口,多窗口切换
- Selenium Webdriver窗口切换
- selenium 切换窗口
- Selenium学习一——批量操作句柄切换页面
- selenium窗口切换,获取句柄
- 6.selenium 浏览器窗口切换
- QT初学笔记——多窗口之间的切换
- 基于python的selenium实现多窗口切换
- 基于python的selenium实现多窗口切换
- 二叉排序树及平衡二叉树的实现
- ACM 逆序数 Lazy Susan
- 格式化信息窗口内容—ArcGIS API for JavaScript
- JDK中常见的线程池类型
- 关于C++多态问题的整理
- selenium————多窗口切换
- MySQL数据库的逻辑备份和物理备份
- matlab直线拟合RANSAC初探
- 微信小程序--(5-1)点击列表item,把item上面显示的所有数据,传递到另外一个页面
- Velocity入门
- caffe make问题
- Angular2笔记(三)--服务与依赖注入
- bosten key party 2017 signed shell server writeup
- UVA11093JustFinishItUp