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. HDU 4888 Redraw Beautiful Drawings

    网络流. $s$向每一个$r[i]$连边,容量为$r[i]$. 每一个$r[i]$向每一个$c[j]$连边,容量为$k$. 每一个$c[j]$向$t$连边容量为$c[j]$. 跑最大流,中间每一条边上 ...

  2. Bzoj 1014&Luogu 4036 火星人Prefix(FHQ-Treap)

    题面 洛谷 Bzoj 题解 首先,这种带修改的是不能用$SA$的,然后,我们做$SA$的题一般也能二分+$Hash$,所以不妨考虑用$FHQ-Treap$维护树,然后查询就用二分+$Hash$. $H ...

  3. 洛谷——P2799 国王的魔镜

    P2799 国王的魔镜 题目描述 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的.比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠.如果把 ...

  4. leetcode7 Rerver Integer

    题意:数字反转 思路:醉了,提交了好几次,难点不在于怎么反转,而是判断是否益处,原题中给的是int,4个字节,32位,开始不知道怎么判断.现在知道了是limits.h中的INT_MIN和INT_MAX ...

  5. BZOJ 4403 序列统计(Lucas)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4403 [题目大意] 给定三个正整数N.L和R,统计长度在1到N之间, 元素大小都在L到 ...

  6. 【动态规划】CDOJ1271 Search gold

    方格取数. 但由于题意说金币数<0就死了,就不能继续转移. #include<cstdio> #include<algorithm> #include<cstrin ...

  7. Problem G: 部分复制字符串

    #include <stdio.h> #include <string.h> int main() { void copystr(char *,char *,int); int ...

  8. 连接mysql时1045错误的解决办法

    重装系统后,今天mysql提示1045错误无法连接上,找了很久得出方法如下: 修改root密码即可正常. 1,进入mysql控制台选择: 2,use mysql; 3,update user set ...

  9. GNU Debugger for Windows----GDB

            This web page provides 32-bit and 64-bit binaries of gdb for Windows for download. Equation ...

  10. 生成SESSIONID

    生成SESSIONID uses SynCommons procedure TForm1.Button1Click(Sender: TObject);var i: Cardinal;begin i : ...