[译]Selenium Python文档:七、WebDriver API接口
由于API文档格式不太适合cnblog博客,暂且翻译一部分,且暂未校对
注意:这不是官方文档,官方 API文档在这里.
本章包含Selenium WebDriver的所有接口
推荐import风格
本章中的API第一显示的都是类的绝对位置。然而,要推荐的是下面这种import风格:
from selenium import webdriver
接着,你可以像下面这样访问其中的类:
webdriver.Firefox
webdriver.FirefoxProfile
webdriver.Chrome
webdriver.ChromeOptions
webdriver.Ie
webdriver.Opera
webdriver.PhantomJS
webdriver.Remote
webdriver.DesiredCapabilities
webdriver.ActionChains
webdriver.TouchActions
webdriver.Proxy
特殊的按键类(Keys
)可以像下面这样import:
from selenium.webdriver.common.keys import Keys
异常类可以像下面这样导入(使用真实的类名替换其中的TheNameOfExceptionClass
):
from selenium.common.exceptions import [TheNameOfTheExceptionClass]
API使用约定
有些方法和属性( attributes)是可调用的,而有些是不可调用的(properties)。所有可调用的attributes都以圆括号结尾。
一个 property示例:
current_url
当前加载的页面的URL
使用:driver.current_url
一个方法示例:
- close()
关闭当前窗口
使用:driver.close()
7.1.异常
异常可能出现在任意的webdriver代码中。
异常:
selenium.common.exceptions.ElementNotSelectableException(msg=None, screen=None, stacktrace=None)
基类:selenium.common.exceptions.InvalidElementStateException
当选择一个不可选择的元素是抛出。比如,选择一个script
元素。
异常:
selenium.common.exceptions.ElementNotVisibleException(msg=None, screen=None, stacktrace=None)
基类:selenium.common.exceptions.InvalidElementStateException
当一个元素在DOM中,却是不可视的,无法与之交互时抛出。
通常会在尝试点击或者读取视图中一个隐藏元素是遇到这种异常。
异常:
selenium.common.exceptions.ErrorInResponseException(response, msg)
基类:selenium.common.exceptions.WebDriverException
当服务端出现错误时抛出。
当可能发生在于火狐扩展或远程驱动器服务器进行通信时出现。
异常:
selenium.common.exceptions.ImeActivationFailedException(msg=None, screen=None, stacktrace=None)
基类:selenium.common.exceptions.WebDriverException
当激活一个IME引擎失败时抛出
异常:
selenium.common.exceptions.ImeNotAvailableException(msg=None, screen=None, stacktrace=None)
基类:selenium.common.exceptions.WebDriverException
[译]Selenium Python文档:七、WebDriver API接口的更多相关文章
- [译]Selenium Python文档:目录
作者:Baiju Muthukadan 协议:本文档采用知识共享署名 - 共享4.0国际许可. 原英文网址:http://selenium-python.readthedocs.io/index.ht ...
- [译]Selenium Python文档:一、安装
1.1.简介 Selenium Python为使用Selenium WebDriver来编写功能/验证测试提供了一个简单的API接口.通过Selenium Python API,你可以以一种非常直观的 ...
- [译]Selenium Python文档:八、附录:FAQ常见问题
另外一个FAQ:https://github.com/SeleniumHQ/selenium/wiki/Frequently-Asked-Questions 8.1.怎样使用ChromeDriver ...
- [译]Selenium Python文档:四、元素定位
要定位一个页面中的元素有多中策略和方法.你可以根据实际情况选择其中最为合适的.Selenium为定位页面元素提供了下面的这些方法: find_element_by_id(使用id) find_elem ...
- [译]Selenium Python文档:二、初步开始
2.1.简单使用 如果已经安装好了Selenium Python,你就可以像下面这样编写Python代码来使用它了: from selenium import webdriver from selen ...
- [译]Selenium Python文档:五、Waits等待
大多数现代web应用都使用了AJAX技术.当浏览器加载一个页面的时候,该页面内的元素可能在不用的时间间隔内进行加载.这使得元素定位变得比较困难:如果一个元素还没有出现在DOM中,定位函数将会抛出一个E ...
- [译]Selenium Python文档:六、页面对象
本章是介绍页面对象设计模式的教程.一个页面对象代表了web应用用户接口的一片区域,你的测试代码将与之交互的. 使用页面对象模式的好处: 可以创建在多个测试样例中都可使用的可重用代码 减少重复性代码 如 ...
- [译]Selenium Python文档:三、导航控制
你使用WebDriver要做的第一件事就是访问一个链接.一般通过调用get方法来实现: driver.get("http://www.baidu.com") 在将控制权返给你的脚本 ...
- 基于 Python 官方 GitHub 构建 Python 文档
最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/ 因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实 ...
随机推荐
- 《JAVASCRIPT高级程序设计》Ajax与Comet
Ajax,是Asynchronous JavaScript + XML的简写,这一技术能向服务器请求额外的技术而无需卸载页面,会带给用户更好的体验.Ajax的核心是XMLHttpRequest对象.为 ...
- CI Weekly #13 | 用更 Geek 的方式配置你的 CI 工作流
flow.ci 的重大更新来了--支持通过 .yml 文件配置工作流(测试阶段),具体的使用方法可参考文档:同时 flow.ci 也开放了社区>> club.flow.ci,使用的任何问题 ...
- 源码(04) -- java.util.List<E>
java.util.List<E> 源码分析(JDK1.7) --------------------------------------------------------------- ...
- 每日一练之自适应中值滤波器(基于OpenCV实现)
本文主要介绍了自适应的中值滤波器,并基于OpenCV实现了该滤波器,并且将自适应的中值滤波器和常规的中值滤波器对不同概率的椒盐噪声的过滤效果进行了对比.最后,对中值滤波器的优缺点了进行了总结. 空间滤 ...
- HTTP学习目录
前面的话 除了HTML.CSS.javascript这三门前端基础知识之外,HTTP恐怕是前端工程师最需要掌握的知识了,它是前端和后端沟通的桥梁,前端工程师需要能够调试HTTP.修复网络传输中可能遇到 ...
- Swift 2.0 自定义cell和不同风格的cell
昨天我们写了使用系统的cell怎样创建tableView,今天我们再细分一下,就是不同风格的cell,我们怎写代码.先自己创建一个cell,继承于UItableviewcell 我们看看 cell 里 ...
- 通过 Chrome 在 Windows 中调试运行在 iphone-safari 上的 页面
本文重点讨论如何在 Windows 系统中通过chrome 浏览器调试运行在 iPhone Safari 浏览器中的网页.如果你有一台 iMac/MacBook,可忽略该文档.iMac 环境下,直接通 ...
- spring配置文件头部xmlns配置精髓
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...
- SQL SPLIT2
CREATE FUNCTION F_SQLSERVER_SPLIT( @Long_str varchar ( 8000 ), @split_str varchar ( 100 )) ...
- Java(多态练习 instanceof)
/* 题目: (多态,instanceof)有如下代码 class Animal { private String name; // 1 } class Dog extends Animal { // ...