一、webdriver继承关系
在selenium中,无论是常用的Firefox Driver 还是Chrome Driver和Ie Drive,他们都继承至selenium\webdriver\remote下webdriver.py中的WebDriver 类,如下
chrome WebDriver
selenium\webdriver\chrome下webdriver.py中WebDriver定义如下
from selenium.webdriver.remote.webdriver importWebDriver as RemoteWebDriverclassWebDriver(RemoteWebDriver):"""Controls the ChromeDriver and allows you to drive the browser."""
firefox WebDriver
selenium\webdriver\firefox 下webdriver.py中WebDriver定义如下
from selenium.webdriver.remote.webdriver importWebDriver as RemoteWebDriverclassWebDriver(RemoteWebDriver):pass
ie WebDriver
selenium\webdriver\ie 下webdriver.py中WebDriver定义如下
from selenium.webdriver.remote.webdriver importWebDriver as RemoteWebDriverclassWebDriver(RemoteWebDriver):def __init__(self, executable_path='IEDriverServer.exe', capabilities=None,
port=DEFAULT_PORT, timeout=DEFAULT_TIMEOUT, host=DEFAULT_HOST,
log_level=DEFAULT_LOG_LEVEL, log_file=DEFAULT_LOG_FILE):
......
如上源码:from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver 都是继承至RemoteWebDriver ,并主要重写__init__方法
其他方法主要继承至父类RemoteWebDriver ,因此着重看下RemoteWebDriver 类中的方法
1、find类
编写脚本常用的查找页面元素方法
deffind_element_by_id(self, id_):#Finds an element by id.'''
pass
deffind_elements_by_id(self, id_):#Finds multiple elements by id.
pass
deffind_element_by_xpath(self, xpath):#Finds an element by xpath.
pass
deffind_elements_by_xpath(self, xpath):#Finds multiple elements by xpath.
pass
deffind_element_by_link_text(self, link_text):#Finds an element by link text
pass
deffind_elements_by_link_text(self, text):#Finds elements by link text.