The WebDriver implementation.

class selenium.webdriver.remote.webdriver.WebDriver(command_executor='http://127.0.0.1:4444/wd/hub'desired_capabilities=Nonebrowser_profile=Noneproxy=Nonekeep_alive=False)

Bases: object

Controls a browser by sending commands to a remote server. This server is expected to be running the WebDriver wire protocol as defined here: http://code.google.com/p/selenium/wiki/JsonWireProtocol

Attributes:
  • command_executor - The command.CommandExecutor object used to execute commands.
  • error_handler - errorhandler.ErrorHandler object used to verify that the server did not return an error.
  • session_id - The session ID to send with every command.
  • capabilities - A dictionary of capabilities of the underlying browser for this instance’s session.
  • proxy - A selenium.webdriver.common.proxy.Proxy object, to specify a proxy for the browser to use.
add_cookie(cookie_dict)

Adds a cookie to your current session.

Args:
  • cookie_dict: A dictionary object, with required keys - “name” and “value”;

    optional keys - “path”, “domain”, “secure”, “expiry”

Usage:
driver.add_cookie({‘name’ : ‘foo’, ‘value’ : ‘bar’}) driver.add_cookie({‘name’ : ‘foo’, ‘value’ : ‘bar’, ‘path’ : ‘/’}) driver.add_cookie({‘name’ : ‘foo’, ‘value’ : ‘bar’, ‘path’ : ‘/’, ‘secure’:True})
back()

Goes one step backward in the browser history.

Usage: driver.back()
close()

Closes the current window.

Usage: driver.close()
create_web_element(element_id)

Creates a web element with the specified element_id.

delete_all_cookies()

Delete all cookies in the scope of the session.

Usage: driver.delete_all_cookies()
delete_cookie(name)

Deletes a single cookie with the given name.

Usage: driver.delete_cookie(‘my_cookie’)
execute(driver_commandparams=None)

Sends a command to be executed by a command.CommandExecutor.

Args:
  • driver_command: The name of the command to execute as a string.
  • params: A dictionary of named parameters to send with the command.
Returns:

The command’s JSON response loaded into a dictionary object.

execute_async_script(script*args)

Asynchronously Executes JavaScript in the current window/frame.

Args:
  • script: The JavaScript to execute.
  • *args: Any applicable arguments for your JavaScript.
Usage:

driver.execute_async_script(‘document.title’)

execute_script(script*args)

Synchronously Executes JavaScript in the current window/frame.

Args:
  • script: The JavaScript to execute.
  • *args: Any applicable arguments for your JavaScript.
Usage:

driver.execute_script(‘document.title’)

find_element(by='id'value=None)

‘Private’ method used by the find_element_by_* methods.

Usage: Use the corresponding find_element_by_* instead of this.
Return type: WebElement
find_element_by_class_name(name)

Finds an element by class name.

Args:
  • name: The class name of the element to find.
Usage:

driver.find_element_by_class_name(‘foo’)

find_element_by_css_selector(css_selector)

Finds an element by css selector.

Args:
  • css_selector: The css selector to use when finding elements.
Usage:

driver.find_element_by_css_selector(‘#foo’)

find_element_by_id(id_)

Finds an element by id.

Args:
  • id_ - The id of the element to be found.
Usage:

driver.find_element_by_id(‘foo’)

find_element_by_link_text(link_text)

Finds an element by link text.

Args:
  • link_text: The text of the element to be found.
Usage:

driver.find_element_by_link_text(‘Sign In’)

find_element_by_name(name)

Finds an element by name.

Args:
  • name: The name of the element to find.
Usage:

driver.find_element_by_name(‘foo’)

find_element_by_partial_link_text(link_text)

Finds an element by a partial match of its link text.

Args:
  • link_text: The text of the element to partially match on.
Usage:

driver.find_element_by_partial_link_text(‘Sign’)

find_element_by_tag_name(name)

Finds an element by tag name.

Args:
  • name: The tag name of the element to find.
Usage:

driver.find_element_by_tag_name(‘foo’)

find_element_by_xpath(xpath)

Finds an element by xpath.

Args:
  • xpath - The xpath locator of the element to find.
Usage:

driver.find_element_by_xpath(‘//div/td[1]’)

find_elements(by='id'value=None)

‘Private’ method used by the find_elements_by_* methods.

Usage: Use the corresponding find_elements_by_* instead of this.
Return type: list of WebElement
find_elements_by_class_name(name)

Finds elements by class name.

Args:
  • name: The class name of the elements to find.
Usage:

driver.find_elements_by_class_name(‘foo’)

find_elements_by_css_selector(css_selector)

Finds elements by css selector.

Args:
  • css_selector: The css selector to use when finding elements.
Usage:

driver.find_elements_by_css_selector(‘.foo’)

find_elements_by_id(id_)

Finds multiple elements by id.

Args:
  • id_ - The id of the elements to be found.
Usage:

driver.find_element_by_id(‘foo’)

find_elements_by_link_text(text)

Finds elements by link text.

Args:
  • link_text: The text of the elements to be found.
Usage:

driver.find_elements_by_link_text(‘Sign In’)

find_elements_by_name(name)

Finds elements by name.

Args:
  • name: The name of the elements to find.
Usage:

driver.find_elements_by_name(‘foo’)

find_elements_by_partial_link_text(link_text)

Finds elements by a partial match of their link text.

Args:
  • link_text: The text of the element to partial match on.
Usage:

driver.find_element_by_partial_link_text(‘Sign’)

find_elements_by_tag_name(name)

Finds elements by tag name.

Args:
  • name: The tag name the use when finding elements.
Usage:

driver.find_elements_by_tag_name(‘foo’)

find_elements_by_xpath(xpath)

Finds multiple elements by xpath.

Args:
  • xpath - The xpath locator of the elements to be found.
Usage:

driver.find_elements_by_xpath(“//div[contains(@class, ‘foo’)]”)

forward()

Goes one step forward in the browser history.

Usage: driver.forward()
get(url)

Loads a web page in the current browser session.

get_cookie(name)

Get a single cookie by name. Returns the cookie if found, None if not.

Usage: driver.get_cookie(‘my_cookie’)
get_cookies()

Returns a set of dictionaries, corresponding to cookies visible in the current session.

Usage: driver.get_cookies()
get_log(log_type)

Gets the log for a given log type

Args:
  • log_type: type of log that which will be returned
Usage:

driver.get_log(‘browser’) driver.get_log(‘driver’) driver.get_log(‘client’) driver.get_log(‘server’)

get_screenshot_as_base64()
Gets the screenshot of the current window as a base64 encoded string
which is useful in embedded images in HTML.
Usage: driver.get_screenshot_as_base64()
get_screenshot_as_file(filename)
Gets the screenshot of the current window. Returns False if there is
any IOError, else returns True. Use full paths in your filename.
Args:
  • filename: The full path you wish to save your screenshot to.
Usage:

driver.get_screenshot_as_file(‘/Screenshots/foo.png’)

get_screenshot_as_png()

Gets the screenshot of the current window as a binary data.

Usage: driver.get_screenshot_as_png()
get_window_position(windowHandle='current')

Gets the x,y position of the current window.

Usage: driver.get_window_position()
get_window_size(windowHandle='current')

Gets the width and height of the current window.

Usage: driver.get_window_size()
implicitly_wait(time_to_wait)
Sets a sticky timeout to implicitly wait for an element to be found,
or a command to complete. This method only needs to be called one time per session. To set the timeout for calls to execute_async_script, see set_script_timeout.
Args:
  • time_to_wait: Amount of time to wait (in seconds)
Usage:

driver.implicitly_wait(30)

maximize_window()

Maximizes the current window that webdriver is using

quit()

Quits the driver and closes every associated window.

Usage: driver.quit()
refresh()

Refreshes the current page.

Usage: driver.refresh()
save_screenshot(filename)
Gets the screenshot of the current window. Returns False if there is
any IOError, else returns True. Use full paths in your filename.
Args:
  • filename: The full path you wish to save your screenshot to.
Usage:

driver.get_screenshot_as_file(‘/Screenshots/foo.png’)

set_page_load_timeout(time_to_wait)
Set the amount of time to wait for a page load to complete
before throwing an error.
Args:
  • time_to_wait: The amount of time to wait
Usage:

driver.set_page_load_timeout(30)

set_script_timeout(time_to_wait)
Set the amount of time that the script should wait during an
execute_async_script call before throwing an error.
Args:
  • time_to_wait: The amount of time to wait (in seconds)
Usage:

driver.set_script_timeout(30)

set_window_position(xywindowHandle='current')

Sets the x,y position of the current window. (window.moveTo)

Args:
  • x: the x-coordinate in pixels to set the window position
  • y: the y-coordinate in pixels to set the window position
Usage:

driver.set_window_position(0,0)

set_window_size(widthheightwindowHandle='current')

Sets the width and height of the current window. (window.resizeTo)

Args:
  • width: the width in pixels to set the window to
  • height: the height in pixels to set the window to
Usage:

driver.set_window_size(800,600)

start_client()

Called before starting a new session. This method may be overridden to define custom startup behavior.

start_session(desired_capabilitiesbrowser_profile=None)

Creates a new session with the desired capabilities.

Args:
  • browser_name - The name of the browser to request.
  • version - Which browser version to request.
  • platform - Which platform to request the browser on.
  • javascript_enabled - Whether the new session should support JavaScript.
  • browser_profile - A selenium.webdriver.firefox.firefox_profile.FirefoxProfile object. Only used if Firefox is requested.
stop_client()

Called after executing a quit command. This method may be overridden to define custom shutdown behavior.

switch_to_active_element()

Deprecated use driver.switch_to.active_element

switch_to_alert()

Deprecated use driver.switch_to.alert

switch_to_default_content()

Deprecated use driver.switch_to.default_content

switch_to_frame(frame_reference)

Deprecated use driver.switch_to.frame

switch_to_window(window_name)

Deprecated use driver.switch_to.window

application_cache

Returns a ApplicationCache Object to interact with the browser app cache

current_url

Gets the URL of the current page.

Usage: driver.current_url
current_window_handle

Returns the handle of the current window.

Usage: driver.current_window_handle
desired_capabilities

returns the drivers current desired capabilities being used

file_detector
log_types

Gets a list of the available log types

Usage: driver.log_types
mobile
name

Returns the name of the underlying browser for this instance.

Usage:
  • driver.name
orientation

Gets the current orientation of the device

Usage: orientation = driver.orientation
page_source

Gets the source of the current page.

Usage: driver.page_source
switch_to
title

Returns the title of the current page.

Usage: driver.title
window_handles

Returns the handles of all windows within the current session.

Usage: driver.window_handles

webDriver API——第11部分Remote WebDriver的更多相关文章

  1. webDriver API——第9部分Firefox WebDriver

    class selenium.webdriver.firefox.webdriver.WebDriver(firefox_profile=None, firefox_binary=None, time ...

  2. webDriver API——第10部分Chrome WebDriver

    class selenium.webdriver.chrome.webdriver.WebDriver(executable_path='chromedriver', port=0, chrome_o ...

  3. Webdriver API (二)

    (转载) 1.3 打开测试页面 对页面对测试,首先要打开被测试页面的地址(如:http://www.google.com),web driver 提供的get方法可以打开一个页面: // And no ...

  4. webdriver API中文文档

    1.1   下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGuide:http://seleniu ...

  5. python+selenium自动化软件测试(第2章):WebDriver API

    2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...

  6. 2.28 查看webdriver API

    2.28 查看webdriver API(带翻译) 前言    前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就教大家如何去查看seleni ...

  7. webdriver API study

    This chapter cover all the interfaces of Selenium WebDriver. Recommended Import Style The API defini ...

  8. Webdriver API中文版

    Webdriver API中文版 1.1   下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGui ...

  9. <译>Selenium Python Bindings 6 - WebDriver API

    本章涉及Selenium WebDriver的所有接口. Recommended Import Style 推荐的导入风格如下: from selenium import webdriver 然后,你 ...

随机推荐

  1. 洛谷P1880 [NOI1995] 石子合并 [DP,前缀和]

    题目传送门 题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆 ...

  2. 数学【CF743C】Vladik and fractions

    Description 请找出一组合法的解使得\(\frac {1}{x} + \frac{1}{y} + \frac {1}{z} = \frac {2}{n}\)成立 其中\(x,y,z\)为正整 ...

  3. 【Java NIO】一文了解NIO

    Java NIO 1 背景介绍 在上一篇文章中我们介绍了Java基本IO,也就是阻塞式IO(BIO),在JDK1.4版本后推出了新的IO系统(NIO),也可以理解为非阻塞IO(Non-Blocking ...

  4. UTF-8 与 BIG-5 转码

    BIG-5 轉 UTF-8 若要將一個文字檔從 BIG-5 編碼轉換為 UTF-8 編碼,可以執行: iconv -f BIG-5 -t UTF-8 big5.txt > utf8.txt 其中 ...

  5. 【转载】R中有关数据挖掘的包

    下面列出了可用于数据挖掘的R包和函数的集合.其中一些不是专门为了数据挖掘而开发,但数据挖掘过程中这些包能帮我们不少忙,所以也包含进来. 1.聚类 常用的包: fpc,cluster,pvclust,m ...

  6. CodeForces - 995B Suit and Tie

    题面在这里! 明明可以出成n<=1e5但是因为拒绝写数据结构而只出到n<=100,,,出题人真的很棒棒.. 一个显然的贪心就是,把和当前序列最左端的数匹配的数移到它的右边,这样迭代下去总是 ...

  7. 【数形结合】Erratic Expansion

    [UVa12627]Erratic Expansion 算法入门经典第8章8-12(P245) 题目大意:起初有一个红球,每一次红球会分成三红一蓝,蓝球会分成四蓝(如图顺序),问K时的时候A~B行中有 ...

  8. Activity(活动)生命周期--系统回收活动数据存储

    当一个活动进入停止状态的时候,是有可能被系统回收的.那如果处于停止状态的活动被系统回收了,而它上面却有我们所需要数据该如何保存呢?(类似于:打开qq进入下一个界面没有进去,返回的时候仍然不需要你输入账 ...

  9. Java中的服务器与客户端的简单连接

    Java中重点之一就是服务器与客户端的连接,因为是在同一台PC上,所以就设置服务器的地址为“localhost”,注意,我当时试着设置其他名称,但都不行,这个原因还请老司机告一下.另外还要注意,服务端 ...

  10. [Android实例] Android 6.0RecyclerView SwipeRefreshLayout 下拉刷新 上拉加载

    这是Android 6.0的 SwipeRefreshLayout 实现下拉刷新和RecyclerView的上拉加载更多,以及添加分割线等 Android <ignore_js_op> r ...