7. WebDriver API
Note
这不是一个官方的文档. 但是你可以在这访问官方文档: 官方文档.
这一章包含所有的 Selenium WebDriver 接口.
Recommended Import Style
The API definitions in this chapter shows the absolute location of classes. However the recommended import style is as given below:
from selenium import webdriver
Then, you can access the classes like this:
webdriver.Firefox webdriver.FirefoxProfile webdriver.Chrome webdriver.ChromeOptions webdriver.Ie webdriver.Opera webdriver.PhantomJS webdriver.Remote webdriver.DesiredCapabilities webdriver.ActionChains webdriver.TouchActions webdriver.Proxy
The special keys class (Keys
) can be imported like this:
from selenium.webdriver.common.keys import Keys
The exception classes can be imported like this (Replace the TheNameOfTheExceptionClass
with actual class name given below):
from selenium.common.exceptions import [TheNameOfTheExceptionClass]
Conventions used in the API
Some attributes are callable (or methods) and others are non-callable (properties). All the callable attributes are ending with round brackets.
Here is an example for property:
current_url
URL of the current loaded page.
Usage:
driver.current_url
Here is an example for a method:
close()
Closes the current window.
Usage:
driver.close()
7.1. Exceptions
Exceptions that may happen in all the webdriver code.
- exception
selenium.common.exceptions.
ElementNotInteractableException
(msg=None, screen=None, stacktrace=None)The ActionChains implementation,
- class
selenium.webdriver.common.action_chains.
ActionChains
(driver)The Alert implementation.
- class
selenium.webdriver.common.alert.
Alert
(driver)The Keys implementation.
- class
selenium.webdriver.common.keys.
Keys
These are the attributes which can be used to locate elements. See the 查找元素 chapter for example usages.
The By implementation.
- class
selenium.webdriver.common.by.
By
See the 使用远程 Selenium WebDriver section for example usages of desired capabilities.
The Desired Capabilities implementation.
- class
selenium.webdriver.common.desired_capabilities.
DesiredCapabilities
The Utils methods.
selenium.webdriver.common.utils.
find_connectable_ip
(host, port=None)- class
selenium.webdriver.firefox.webdriver.
WebDriver
(firefox_profile=None, firefox_binary=None, timeout=30, capabilities=None, proxy=None, executable_path='geckodriver', firefox_options=None, log_path='geckodriver.log') - class
selenium.webdriver.chrome.webdriver.
WebDriver
(executable_path='chromedriver', port=0, chrome_options=None, service_args=None, desired_capabilities=None, service_log_path=None)The WebDriver implementation.
- class
selenium.webdriver.remote.webdriver.
WebDriver
(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=None, browser_profile=None, proxy=None, keep_alive=False, file_detector=None) - class
selenium.webdriver.remote.webelement.
WebElement
(parent, id_, w3c=False) - class
selenium.webdriver.support.select.
Select
(webelement) - class
selenium.webdriver.support.color.
Color
(red, green, blue, alpha=1) - class
selenium.webdriver.support.expected_conditions.
alert_is_present
¶ Bases:
object
Expect an alert to be present.
- class
selenium.webdriver.support.expected_conditions.
element_located_selection_state_to_be
(locator, is_selected)¶ Bases:
object
An expectation to locate an element and check if the selection state specified is in that state. locator is a tuple of (by, path) is_selected is a boolean
- class
selenium.webdriver.support.expected_conditions.
element_located_to_be_selected
(locator)¶ Bases:
object
An expectation for the element to be located is selected. locator is a tuple of (by, path)
- class
selenium.webdriver.support.expected_conditions.
element_selection_state_to_be
(element, is_selected)¶ Bases:
object
An expectation for checking if the given element is selected. element is WebElement object is_selected is a Boolean.”
- class
selenium.webdriver.support.expected_conditions.
element_to_be_clickable
(locator)¶ Bases:
object
An Expectation for checking an element is visible and enabled such that you can click it.
- class
selenium.webdriver.support.expected_conditions.
element_to_be_selected
(element)¶ Bases:
object
An expectation for checking the selection is selected. element is WebElement object
- class
selenium.webdriver.support.expected_conditions.
frame_to_be_available_and_switch_to_it
(locator)¶ Bases:
object
An expectation for checking whether the given frame is available to switch to. If the frame is available it switches the given driver to the specified frame.
- class
selenium.webdriver.support.expected_conditions.
invisibility_of_element_located
(locator)¶ Bases:
object
An Expectation for checking that an element is either invisible or not present on the DOM.
locator used to find the element
- class
selenium.webdriver.support.expected_conditions.
new_window_is_opened
(current_handles)¶ Bases:
object
An expectation that a new window will be opened and have the number of windows handles increase
- class
selenium.webdriver.support.expected_conditions.
number_of_windows_to_be
(num_windows)¶ Bases:
object
An expectation for the number of windows to be a certain value.
- class
selenium.webdriver.support.expected_conditions.
presence_of_all_elements_located
(locator)¶ Bases:
object
An expectation for checking that there is at least one element present on a web page. locator is used to find the element returns the list of WebElements once they are located
- class
selenium.webdriver.support.expected_conditions.
presence_of_element_located
(locator)¶ Bases:
object
An expectation for checking that an element is present on the DOM of a page. This does not necessarily mean that the element is visible. locator - used to find the element returns the WebElement once it is located
- class
selenium.webdriver.support.expected_conditions.
staleness_of
(element)¶ Bases:
object
Wait until an element is no longer attached to the DOM. element is the element to wait for. returns False if the element is still attached to the DOM, true otherwise.
- class
selenium.webdriver.support.expected_conditions.
text_to_be_present_in_element
(locator, text_)¶ Bases:
object
An expectation for checking if the given text is present in the specified element. locator, text
- class
selenium.webdriver.support.expected_conditions.
text_to_be_present_in_element_value
(locator, text_)¶ Bases:
object
An expectation for checking if the given text is present in the element’s locator, text
- class
selenium.webdriver.support.expected_conditions.
title_contains
(title)¶ Bases:
object
An expectation for checking that the title contains a case-sensitive substring. title is the fragment of title expected returns True when the title matches, False otherwise
- class
selenium.webdriver.support.expected_conditions.
title_is
(title)¶ Bases:
object
An expectation for checking the title of a page. title is the expected title, which must be an exact match returns True if the title matches, false otherwise.
- class
selenium.webdriver.support.expected_conditions.
url_changes
(url)¶ Bases:
object
An expectation for checking the current url. url is the expected url, which must not be an exact match returns True if the url is different, false otherwise.
- class
selenium.webdriver.support.expected_conditions.
url_contains
(url)¶ Bases:
object
An expectation for checking that the current url contains a case-sensitive substring. url is the fragment of url expected, returns True when the title matches, False otherwise
- class
selenium.webdriver.support.expected_conditions.
url_matches
(pattern)¶ Bases:
object
An expectation for checking the current url. pattern is the expected pattern, which must be an exact match returns True if the title matches, false otherwise.
- class
selenium.webdriver.support.expected_conditions.
url_to_be
(url)¶ Bases:
object
An expectation for checking the current url. url is the expected url, which must be an exact match returns True if the title matches, false otherwise.
- class
selenium.webdriver.support.expected_conditions.
visibility_of
(element)¶ Bases:
object
An expectation for checking that an element, known to be present on the DOM of a page, is visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0. element is the WebElement returns the (same) WebElement once it is visible
- class
selenium.webdriver.support.expected_conditions.
visibility_of_all_elements_located
(locator)¶ Bases:
object
An expectation for checking that all elements are present on the DOM of a page and visible. Visibility means that the elements are not only displayed but also has a height and width that is greater than 0. locator - used to find the elements returns the list of WebElements once they are located and visible
- class
selenium.webdriver.support.expected_conditions.
visibility_of_any_elements_located
(locator)¶ Bases:
object
An expectation for checking that there is at least one element visible on a web page. locator is used to find the element returns the list of WebElements once they are located
- class
selenium.webdriver.support.expected_conditions.
visibility_of_element_located
(locator)¶ Bases:
object
An expectation for checking that an element is present on the DOM of a page and visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0. locator - used to find the element returns the WebElement once it is located and visible