WebDriver
class WebDriver(object):
方法属性 | 参数 | 描述 |
---|---|---|
init | self, command_executor='http://127.0.0.1:4444/wd/hub',desired_capabilities=None, browser_profile=None, proxy=None,keep_alive=False, file_detector=None, options=None | 初始化 |
def get(self, url) | 打开相应的网址 | |
def title(self) | 返回相应的title | |
find_element_by_id(self, id_) | id_:str | 通过id查找元素 |
def find_elements_by_id(self, id_) | 通过id查找所有符合条件的元素 | |
find_element_by_xpath(self, xpath) | ||
find_elements_by_xpath(self, xpath) | ||
find_element_by_link_text(self, link_text) | Finds an element by link text | |
find_elements_by_link_text(self, text) | Finds elements by link text | |
find_element_by_partial_link_text(self, link_text) | Finds an element by a partial match of its link text | |
find_elements_by_partial_link_text(self, link_text) | Finds elements by a partial match of their link text | |
find_element_by_name(self, name) | Finds an element by name | |
find_elements_by_name(self, name) | Finds elements by name | |
find_element_by_tag_name(self, name) | Finds an element by tag name | |
find_elements_by_tag_name(self, name) | Finds elements by tag name | |
find_element_by_class_name(self, name) | Finds an element by class name | |
find_elements_by_class_name(self, name) | Finds elements by class name | |
find_element_by_css_selector(self, css_selector) | Finds an element by css selector | |
find_elements_by_css_selector(self, css_selector) | Finds elements by css selector | |
execute_script(self, script, *args) | script:str,*args:str,是script的参数 | 同步执行js |
execute_async_script(self, script, *args) | 异步执行js | |
current_url(self) | 获得当前的url | |
page_source(self) | 获得网站源代码 | |
close(self) | 关闭窗口 | |
quit(self) | 关闭程序 | |
current_window_handle(self) | Returns the handle of the current window | |
window_handles(self) | Returns the handles of all windows within the current session | |
maximize_window(self) | 最大化窗口 | |
fullscreen_window(self) | 全屏窗口 | |
minimize_window(self) | 最小化窗口 | |
switch_to(self) | ||
back(self) | 后退 | |
forward(self) | 前进 | |
refresh(self) | 刷新 | |
get_cookies(self) | 获得所有cookie | |
get_cookie(self, name) | 通过名称获得cookie | |
delete_cookie(self, name) | 删除cookie | |
delete_all_cookies(self) | 删除所有的cookie | |
add_cookie(self, cookie_dict) | 添加cookie | |
implicitly_wait(self, time_to_wait) | Sets a sticky timeout to implicitly wait for an element to be found,or a command to complete | |
set_script_timeout(self, time_to_wait) | Set the amount of time that the script should wait during an execute_async_script call before throwing an error | |
set_page_load_timeout(self, time_to_wait) | Set the amount of time to wait for a page load to complete before throwing an error. | |
find_element(self, by=By.ID, value=None) | ‘Private’ method used by the find_element_by_* methods | |
find_elements(self, by=By.ID, value=None) | ||
desired_capabilities(self) | returns the drivers current desired capabilities being used | |
get_screenshot_as_file(self, filename) | 截屏浏览器 | |
save_screenshot(self, filename) | 截屏浏览器 | |
get_screenshot_as_png(self) | Gets the screenshot of the current window as a binary data | |
get_screenshot_as_base64(self) | Gets the screenshot of the current window as a base64 encoded string | |
set_window_size(self, width, height, windowHandle=’current’) | 设置浏览器的宽和高 | |
get_window_size(self, windowHandle=’current’) | 获得浏览器的宽和高 | |
set_window_position(self, x, y, windowHandle=’current’) | 设置浏览器的位置 | |
get_window_position(self, windowHandle=’current’) | 获得浏览器的位置 | |
get_window_rect(self) | 获得浏览器的坐标 | |
set_window_rect(self, x=None, y=None, width=None, height=None) | 设置浏览器的坐标以及宽和高 | |
orientation(self) | 获得浏览器的方向 | |
orientation(self, value) | 设置浏览器的方向 | |
log_types(self) | ||
get_log(self, log_type) |
WebElement
class WebElement(object)
方法属性 | 参数 | 描述 |
---|---|---|
init(self, parent, id_, w3c=False) | ||
tag_name(self) | ||
text(self) | 获得标签文本 | |
click(self) | 点击标签 | |
submit(self) | 提交表单 | |
clear(self) | 清空标签内容 | |
get_property(self, name) | 获得标签特性,text_length | |
get_attribute(self, name) | 获得标签属性值, | |
is_selected(self) | Returns whether the element is selected | |
is_enabled(self) | Returns whether the element is enabled | |
find_element(self, by=By.ID, value=None) | ||
find_elements(self, by=By.ID, value=None) | ||
find_element_by_id(self, id_) | ||
find_elements_by_id(self, id_) | ||
find_element_by_name(self, name) | ||
find_elements_by_name(self, name) | ||
find_element_by_link_text(self, link_text) | ||
find_elements_by_link_text(self, link_text) | ||
find_element_by_partial_link_text(self, link_text) | ||
find_elements_by_partial_link_text(self, link_text) | ||
find_element_by_tag_name(self, name) | ||
find_elements_by_tag_name(self, name) | ||
find_element_by_xpath(self, xpath) | ||
find_elements_by_xpath(self, xpath) | ||
find_element_by_class_name(self, name) | ||
find_elements_by_class_name(self, name) | ||
find_element_by_css_selector(self, css_selector) | ||
find_elements_by_css_selector(self, css_selector) | ||
send_keys(self, *value) | 向标签内填写内容 | |
is_displayed(self) | ||
location_once_scrolled_into_view(self) | ||
size(self) | 标签的大小 | |
value_of_css_property(self, property_name) | ||
location(self) | The location of the element in the renderable canvas | |
rect(self) | 标签的坐标和大小 | |
screenshot_as_base64(self) | 截屏 | |
screenshot_as_png(self) | 截屏 | |
screenshot(self, filename) | 截屏 | |
parent(self) | 父标签 | |
id(self) | id |
keys
selenium.webdriver.coomon.keys
NULL = '\ue000'
CANCEL = '\ue001' # ^break
HELP = '\ue002'
BACKSPACE = '\ue003'
BACK_SPACE = BACKSPACE
TAB = '\ue004'
CLEAR = '\ue005'
RETURN = '\ue006'
ENTER = '\ue007'
SHIFT = '\ue008'
LEFT_SHIFT = SHIFT
CONTROL = '\ue009'
LEFT_CONTROL = CONTROL
ALT = '\ue00a'
LEFT_ALT = ALT
PAUSE = '\ue00b'
ESCAPE = '\ue00c'
SPACE = '\ue00d'
PAGE_UP = '\ue00e'
PAGE_DOWN = '\ue00f'
END = '\ue010'
HOME = '\ue011'
LEFT = '\ue012'
ARROW_LEFT = LEFT
UP = '\ue013'
ARROW_UP = UP
RIGHT = '\ue014'
ARROW_RIGHT = RIGHT
DOWN = '\ue015'
ARROW_DOWN = DOWN
INSERT = '\ue016'
DELETE = '\ue017'
SEMICOLON = '\ue018'
EQUALS = '\ue019'
NUMPAD0 = '\ue01a' # number pad keys
NUMPAD1 = '\ue01b'
NUMPAD2 = '\ue01c'
NUMPAD3 = '\ue01d'
NUMPAD4 = '\ue01e'
NUMPAD5 = '\ue01f'
NUMPAD6 = '\ue020'
NUMPAD7 = '\ue021'
NUMPAD8 = '\ue022'
NUMPAD9 = '\ue023'
MULTIPLY = '\ue024'
ADD = '\ue025'
SEPARATOR = '\ue026'
SUBTRACT = '\ue027'
DECIMAL = '\ue028'
DIVIDE = '\ue029'
F1 = '\ue031' # function keys
F2 = '\ue032'
F3 = '\ue033'
F4 = '\ue034'
F5 = '\ue035'
F6 = '\ue036'
F7 = '\ue037'
F8 = '\ue038'
F9 = '\ue039'
F10 = '\ue03a'
F11 = '\ue03b'
F12 = '\ue03c'
META = '\ue03d'
COMMAND = '\ue03d'
常见的鼠标操作
键盘F1到F12:send_keys(Keys.F1) 把F1改成对应的快捷键
复制Ctrl+C:send_keys(Keys.CONTROL,'c')
制表键Tab: send_keys(Keys.TAB)
action_chains
方法属性 | 参数 | 描述 |
---|---|---|
init(self, driver) | driver:当前浏览器的对象 | |
perform(self) | 执行队列中的命令 | |
reset_actions(self) | 重置队列命令 | |
click(self, on_element=None) | on_element:元素对象 | 单击元素 |
click_and_hold(self, on_element=None) | ||
context_click(self, on_element=None) | 右键点击元素 | |
double_click(self, on_element=None) | 双击元素 | |
drag_and_drop(self, source, target) | 点击source元素,并拉到target元素,松开 | |
drag_and_drop_by_offset(self, source, xoffset, yoffset) | 拖拽一个偏移量 | |
key_down(self, value, element=None) | 单机元素,不松开 | |
key_up(self, value, element=None) | 松开按键 | |
move_by_offset(self, xoffset, yoffset) | 移动鼠标一个偏移量 | |
move_to_element(self, to_element) | 移动到某个元素 | |
move_to_element_with_offset(self, to_element, xoffset, yoffset) | 移动到某个元素,然后偏移 | |
pause(self, seconds) | 暂停 | |
release(self, on_element=None) | 释放按键 | |
send_keys(self, *keys_to_send) | 发送命令 | |
send_keys_to_element(self, element, *keys_to_send) | 向某个元素发送命令 |