WebDriver 和 WebElement 是 Selenium 中两个非常重要的类,使用它们提供的方法可以实现与浏览器和页面元素的各种交互操作。WebDriver 提供了许多用来与浏览器交互的功能和设置,我们可以通过使用 WebDriver 的功能和一些方法来实现与浏览器窗口、警告、框架和弹出窗口的交互,它也提供了自动化操作浏览器导航栏、设置 cookies、截屏等特性,后面将一一介绍。

WebDriver 功能

功能/属性 描述 实例
current_url 获取当前页面的 URL 地址 driver.current_url
current_window_handle 获取当前窗口的句柄 driver.current_window_handle
name 获取该实例底层的浏览器名称 driver.name
orientation 获取当前设备的方位 driver.orientation
page_source 获取当前页面的源代码 driver.page_source
title 获取当前页面的标题 driver.title
window_handles 获取当前 session 里的所有窗口的句柄 driver.window_handles

WebDriver 方法

方法 描述 参数 实例
back( ) 后退一步到当前会话的浏览器历史记录中最后一步操作前的页面 driver.back( )
close( ) 关闭当前浏览器窗口 driver.close( )
forward( ) 前进一步到当前会话的浏览器历史记录中前一步操作后的页面 driver.forward( )
get(url) 访问目标 URL 并加载网页到当前的浏览器会话 URL 是目标网页的网站地址 driver.get
("https://www.baidu.com/")
maximize_window( ) 最大化当前浏览器窗口 driver.maximize_window( )
quit( ) 退出当前 driver 并且关闭所有的相关窗口 driver.quit( )
refresh( ) 刷新当前页面 driver.refresh( )
switch_to_active_
element( )
返回当前页面唯一焦点所在的元素 driver.switch_to_active_
element( )
switch_to_alert( ) 把焦点切换至当前页面弹出的警告 driver.switch_to_alert( )
switch_to_default_
centent( )
切换焦点至默认框架内 driver.switch_to_default_
content( )
switch_to_frame
(frame_reference)
通过索引、名称和网页元素将焦点切换到指定的框架,这种方法也适用于IFRAMES frame_reference:要切换的目标窗口的名称、整数类型的索引或者要切换的目标框架的网页元素 driver.switch_to-frame
(frame_reference)
switch_to_window
(window_name)
切换焦点到指定的窗口 window_name:要切换的目标窗口的名称或者句柄 driver.switch_to_window
(window_name)
implicitly_wait
(time_to_wait)
超时设置等待目标元素被找到,或者目标指令执行完成。该方法在每个session只需要调用一次 time_to_wait:等待时间(单位为秒) driver.implicitly_wait
(time_to_wait)
set_page_load_timeout
(time_to_wait)
设置一个页面完全加载完成的超时等待时间 time_to_wait:等待时间(单位为秒) driver.set_page_load_timeout
(time_to_wait)
set_script_timeout
(time_to_wait)
设置脚本执行的超时时间,应该在execute_async_script抛出错误之前 time_to_wait:等待时间(单位为秒) driver.set_script_timeout
(time_to_wait)

Python2+Selenium入门04-关于WebDriver类相关推荐

  1. Python2+Selenium入门03-元素定位

    当我们想让 Selenium 自动地操作浏览器时,就必须告诉 Selenium 如何去定位某个元素或一组元素,每个元素都有着不同的标签名和属性值,Selenium 提供了以下8种定位元素的方式,每种方 ...

  2. 曲鸟全栈UI自动化教学(四):Selenium工作原理及Webdriver对浏览器的配置和操作

    一.前言 上篇文章我们学习了Selenium页面操作原理及如何高效的进行元素定位 那Selenium的工作原理又是什么?是如何驱动浏览器的呢?这篇文章为你讲解Selenium工作原理及Webdrive ...

  3. selenium自动化测试04

    已经写到了第四篇了,也是selenium自动化的最后一篇了.当然了,自动化不止这些,还有很多很多的内容,学无止境. 前情回顾 一.搭建自动化测试环境 项目>>浏览器+浏览器驱动+selen ...

  4. JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  5. 【网络爬虫入门04】彻底掌握BeautifulSoup的CSS选择器

    [网络爬虫入门04]彻底掌握BeautifulSoup的CSS选择器 广东职业技术学院  欧浩源 2017-10-21 1.引言 目前,除了官方文档之外,市面上及网络详细介绍BeautifulSoup ...

  6. selenium 控制ie_牛鹭学院:selenium入门基础及中级进阶

    本文来自牛鹭学院学员:胡伟进 Selenium 是一个 web 应用程序自动化测试的工具合集.包括有测试.屏幕抓取.浏览器行为模拟(爬虫).支持的浏览器有 Firefox.IE.Chrom.safar ...

  7. Java面向对象编程入门练习:Manager类继承Employee类并实现求得员工平均业绩

    Java面向对象编程入门练习:Manager类继承Employee类并实现求得员工平均业绩 请定义一个Manager类,该类继承Employee类,并定义两个变量及一个构造方法,两个变量:depart ...

  8. html中怎么写小箭头,HTML+CSS入门 CSS用伪类制作小箭头

    本篇教程介绍了HTML+CSS入门 CSS用伪类制作小箭头,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 本文对轮播图左右按钮的处理方法一改往常,不是简单地用btn.pr ...

  9. VxWorks入门04:安装与配置

    本文使用的是VxWorks6.8.3+Workbench3.2.3. 先安装一个Windows7的虚拟机,这个不用介绍. 先下载好安装包 第一个ISO文件是基础安装包,第二个是授权服务器(可以不安装, ...

最新文章

  1. 初学Oracle的笔记(2)——基础内容(实时更新中..)
  2. NIPS改名被否,而在改名分歧之外我们能做的还有很多
  3. Spring Boot 2.4.3、2.3.9 版本发布,你准备好了吗?
  4. mysql 优惠卷表设计_这些年MySQL表设计踩过的坑!
  5. poj 1141(区间dp+打印路径)
  6. MySQL数据库变量_数据库参数_MySQL变量_系统变量_用户变量
  7. [设计模式-结构型]适配器(Adapter)
  8. QT正则表达式截取字符串末尾数字
  9. CentOS 6.7安装gcc4.8.2
  10. mac的python换字体_Mac OSX Yosemite系统字体修改
  11. COMSOL学习之(1)入门—简单操作及帮助
  12. idea中自动生成Java类图和时序图
  13. 运用网络执法官实现网络监控
  14. Python入门之——系统性能信息模块psutil
  15. idea软件界面的的外观设置-----一般都有三套主题:IntelliJ Light ,Darcula,Windows供选择
  16. 用java写个记账本,融会贯通你的J2SE(一)java实战项目 Java项目
  17. 魔兽世界,你不是一个人
  18. Linux C报错: /usr/bin/ld: cannot find -ldb
  19. 整理 node-sass 安装失败的原因及解决办法
  20. ​12864无字库液晶显示(一)

热门文章

  1. Docker容器的数据卷备份与恢复
  2. 网络分析shell脚本(实时流量+连接统计)
  3. Mysql导出数据 (windows Linux)
  4. 初次安装Linux(Ubuntu)(ssh,ftp服务安装)
  5. 关于如何提高代码执行效率。
  6. 【Linux】tee命令
  7. 【PL/SQL】触发器示例:记录加薪
  8. 移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究
  9. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(一)
  10. SpringBoot使用MongoDB异常问题