窗口切换:

当前窗口句柄 current_window_handle
所有的窗口句柄 window_handles

切换窗口 switch_to_window()
#coding=utf-8
#切换窗口 from selenium import webdriver
import time dr = webdriver.Firefox()
dr.get("http://www.baidu.com")
dr.find_element_by_link_text("登录").click()
time.sleep(1)
dr.find_element_by_link_text("立即注册").click() origin_handle = dr.current_window_handle #保存当前窗口
print('当前窗口title:',dr.title)
handles = dr.window_handles #获取所有窗口 for handle in handles:
if handle != origin_handle:
dr.switch_to_window(handle)
time.sleep(1)
print('当前窗口title:',dr.title) #切换回原窗口
dr.switch_to_window(origin_handle)
print('当前窗口title:',dr.title)
time.sleep(1)
dr.quit()

selenium入门14 窗口切换的更多相关文章

  1. selenium多个窗口切换

    浏览器里面支持多窗口打开,例如这样: html里面写了: target="_blank" 造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开 ...

  2. Selenium:多窗口切换(获取窗口句柄handle)

    我们在操作网页的时候,点击有些页面的链接,会重新打开一个窗口,我们要在新页面上操作,就得切换窗口 比如在百度首页的登录框点击注册,会重新打开一个注册的新页面,要在新页面注册,就得先切进新页面 那我们怎 ...

  3. python3+selenium入门11-窗口切换

    在打开新的浏览器窗口时,如果要定位新窗口的元素,需要先切换到这个新打开的窗口中,才能定位到该窗口下的元素. current_window_handle:获取当前句柄.可以把句柄理解成窗口的身份证 wi ...

  4. selenium操作浏览器-窗口切换

    package seleniumLearn1; import java.util.Set; import java.util.concurrent.TimeUnit; import org.openq ...

  5. selenium中三大窗口切换

    我们在做UI自动化时,不得不会遇到一些窗口跳转与弹框,在这种的时候如果不进行切换的话,继续执行脚本必然会报错,所以我们就需要用到切换窗口的方法. selenium中主要是三种窗口 Windows窗口 ...

  6. selenium Webdriver多窗口切换

    应用场景: 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时候就需要主机切换到新打开的窗口上进行操作.WebDriver提供了switch_to.window()方法,可以实现在不同的窗口直接切 ...

  7. python3+selenium入门10-表单切换

    当元素在ifarm或farm中时,需要先进入到表单中,然后才能定位元素进行操作.直接对元素定位.会提示元素无法找到. <!DOCTYPE html> <html> <he ...

  8. python+selenium之多窗口切换

    #打开浏览器driver = webdriver.Firefox()driver.get(url)#获取当前窗口now_handle=driver.current_window_handle # 获取 ...

  9. 使用python处理selenium中的窗口切换问题

    # 获取当前页面的句柄 ch = self.driver.current_window_handle # 获取所有句柄 ah = self.driver.window_handles # 切换句柄 s ...

随机推荐

  1. day_08 文件操作

    常用模式解释 open表示打开一个文件 f 变量, 操控XXX.txt文件的句柄 r:只读 w:只写 a:追加写入 b:byte,这种模式下,encoding不能用utf-8字符集 1. 文件的基本操 ...

  2. day33 GIL锁 线程队列 线程池

    1.    全局解释器锁GIL Python代码的执行由Python虚拟机(也叫解释器主循环)来控制.Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行.虽然 Python 解释器中可 ...

  3. java TestNG测试报告美化

    测试报告 执行完测试用例之后,会在项目的test-output(默认目录)下生成测试报告 打开index.html文件,测试结果摘要,包括:套件名.测试用例成功数.测试用例失败数.测试用例忽略数和te ...

  4. 创建第一个vue工程

    vue创建项目(npm安装→初始化项目) 第一步npm安装 首先:先从nodejs.org中下载nodejs   图1 双击安装,在安装界面一直Next   图2   图3   图4 直到Finish ...

  5. java——调用一个静态方法的时候有没有执行这个类的构造方法,以及这个类中的静态常量?

    尝试一下: public class Try { final static int a = 1; public Try() { System.out.print("构造方法"); ...

  6. 为什么 c++中函数模板和类模板的 声明与定义需要放到一起?

    将模板的声明与定义写在一起实在很不优雅.尝试用“传统”方法,及在.h文件里声明,在.cpp文件里定义, 然后在main函数里包含.h头文件,这样会报链接错误.why!!!!!!!!!!!!! 这是因为 ...

  7. VS 快速插入无参构造器

    输入ctor后 点击两次Tab键,即可快速插入无参构造器.

  8. ColorCtr控制颜色渐变

    ColorCtr控制颜色渐变 public class ColorCtr : MonoBehaviour { public static global_color Instance;         ...

  9. java.lang.IllegalStateException: FragmentManager is already executing transactions 及 SmartTabLayout复用

    在复用 SmartTabLayout  时, 出现了标题所示的错误.首先我的场景是Activity下两个fragment  :A 和 B,A中使用了SmarttabLayout和viewpager结合 ...

  10. PHP函数的引用传递(地址传递)

    PHP中的引用: 在PHP中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字.在PHP中引用意味着用不同的名字访问同一个变量的内容. 比如:$a = 'hello world'; $b = ...