由于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接口的更多相关文章

  1. [译]Selenium Python文档:目录

    作者:Baiju Muthukadan 协议:本文档采用知识共享署名 - 共享4.0国际许可. 原英文网址:http://selenium-python.readthedocs.io/index.ht ...

  2. [译]Selenium Python文档:一、安装

    1.1.简介 Selenium Python为使用Selenium WebDriver来编写功能/验证测试提供了一个简单的API接口.通过Selenium Python API,你可以以一种非常直观的 ...

  3. [译]Selenium Python文档:八、附录:FAQ常见问题

    另外一个FAQ:https://github.com/SeleniumHQ/selenium/wiki/Frequently-Asked-Questions 8.1.怎样使用ChromeDriver ...

  4. [译]Selenium Python文档:四、元素定位

    要定位一个页面中的元素有多中策略和方法.你可以根据实际情况选择其中最为合适的.Selenium为定位页面元素提供了下面的这些方法: find_element_by_id(使用id) find_elem ...

  5. [译]Selenium Python文档:二、初步开始

    2.1.简单使用 如果已经安装好了Selenium Python,你就可以像下面这样编写Python代码来使用它了: from selenium import webdriver from selen ...

  6. [译]Selenium Python文档:五、Waits等待

    大多数现代web应用都使用了AJAX技术.当浏览器加载一个页面的时候,该页面内的元素可能在不用的时间间隔内进行加载.这使得元素定位变得比较困难:如果一个元素还没有出现在DOM中,定位函数将会抛出一个E ...

  7. [译]Selenium Python文档:六、页面对象

    本章是介绍页面对象设计模式的教程.一个页面对象代表了web应用用户接口的一片区域,你的测试代码将与之交互的. 使用页面对象模式的好处: 可以创建在多个测试样例中都可使用的可重用代码 减少重复性代码 如 ...

  8. [译]Selenium Python文档:三、导航控制

    你使用WebDriver要做的第一件事就是访问一个链接.一般通过调用get方法来实现: driver.get("http://www.baidu.com") 在将控制权返给你的脚本 ...

  9. 基于 Python 官方 GitHub 构建 Python 文档

    最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/ 因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实 ...

随机推荐

  1. 性能优化之数据存储&DOM编程

    多读书多看报 数据存储 ·在javascript中,数据存储的位置会对代码整体性能产生重大的影响. ·数据存储共有4种方式:字面量.变量.数组.对象成员.   ·要理解变量的访问速度,就要理解作用域. ...

  2. mysql共享锁与排他锁

    mysql锁机制分为表级锁和行级锁,本文就和大家分享一下我对mysql中行级锁中的共享锁与排他锁进行分享交流. 共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能 ...

  3. bootstrap 字体图标

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 使用批处理根据项目工程文件生成Nuget包并发布(支持.NET Core)

    最近在使用之前自己编写的批处理给.NET Core项目打包时出问题了,发现之前的脚本根本不适用了,折腾了半天,总算解决了.因此在这里分享下经验,并且奉上整理好的脚本. Nuget包这里就不多介绍了,需 ...

  5. Java String类和Object类

    String类: 方法: 1.charAt(int index):取index下标的char类型值 2.endsWith(String prefix) /startsWith(String prefi ...

  6. node文件中的package.json文件解析

    { "name":"myejsapp", "version":"0.0.0", "private": ...

  7. Python爬虫爬取qq视频等动态网页全代码

    环境:py3.4.4 32位 需要插件:selenium BeautifulSoup xlwt # coding = utf-8 from selenium import webdriverfrom ...

  8. es6的解构赋值学习(1)

    相对es5的简单的"="赋值来说,es6增加了一种新的赋值模式--解构赋值,按照它的规则,可以从数组和对象中提取值来对变量进行赋值,个人觉得方便了很多,但是这个模式有点恶心人,相比 ...

  9. winform调用cmd命令

    string str = Console.ReadLine(); System.Diagnostics.Process p = new System.Diagnostics.Process(); p. ...

  10. hibernate中save()、update()、saveOrUpdate()的区别

    save()方法很显然是执行保存操作的,如果是对一个新的刚new出来的对象进行保存,自然要使用这个方法了,数据库中没有这个对象. update()如果是对一个已经存在的托管对象进行更新那么肯定是要使用 ...