- 1. 导入包:
from selenium import webdriver
- 2. 初始化一个浏览器对象:driver = webdriver.Chrome()
办法 |
阐明 |
get(url) |
拜访指标 url |
back() |
后退前一个页面 |
forward() |
后退后一个页面 |
refresh() |
刷新页面 |
maximize_window() |
最大化窗口 |
minimize_window() |
最小化窗口 |
fullscree_window() |
全屏窗口 |
get_window_size() |
获取窗口大小 |
set_window_size(x,y) |
设置窗口大小 |
close() |
敞开以后浏览器窗口 |
quit() |
退出浏览器过程 |
switch_to_active_element |
返回惟一焦点所在元素 |
switch_to_alert() |
切换到 alert |
switch_to_default_content() |
切换到主窗口 |
switch_to_frame(索引 or 名称 or 元素) |
切换到 frame 或 iframe |
switch_to_window(名称 or 句柄) |
切换到指定窗口 |
current_url |
获取页面 url 地址 |
title |
获取页面题目 |
name |
获取以后实例的浏览器名称 |
page_source |
获取以后页面的源码 |
current_windows_handle |
获取以后页面的句柄 |
Window_handles |
获取所有回话的窗口句柄 |
办法 |
阐明 |
.tag_name |
获取标签名 |
.size |
获取元素大小 |
.text |
获取元素的文本 |
get_attribute(’id/name/value 等‘) |
获取元素的属性信息 |
.is_displayed() |
判断元素是否可见 |
.is_enabled() |
判断元素是否可用 |
.is_selected() |
判断元素是否是选中状态 |
- 1. 导入类,
from selenium.webdriver.common.action_chains import ActionChains
- 2. 定位要操作的元素
- 3. 固定写法,
ActionChains(driver).xxx 操作 (pars).perform()
办法 |
阐明 |
click() |
鼠标单击 |
ActionChains(driver).click(ele).perform() |
鼠标单击 |
ActionChains(driver).double_click(ele).perform() |
鼠标双击 |
ActionChains(driver).context_click(ele).perform() |
鼠标右击 |
ActionChains(driver).move_to_element(ele).perform() |
鼠标指针悬浮操作 |
ActionChains(driver).drag_and_drop(source,target).perform() |
鼠标拖动操作 |
ActionChains(driver).key_down(ele).perform() |
按下鼠标左键 |
办法 |
阐明 |
send_keys('value') |
输出文字 |
clear() |
清空内容 |
- 如果应用组合键,须要导入包
from selenium.webdriver.common.keys import Keys
- 组合办法如下:
办法 |
阐明 |
send_keys('keys.CONTROL','a') |
Ctrl+A |
send_keys('keys.CONTROL','c') |
Ctrl+C |
send_keys('keys.CONTROL','v') |
Ctrl+V |
send_keys(Keys.ENTER) |
回车 |
ActionChains(driver).key_down(Keys.CONTROL).perform() ele.click() |
按下 ctrl. 单击元素 |
- webdriver 会在预约好的工夫内继续地检测元素是否找到,一旦找到,就执行后续的动作,超过了预约工夫未找到,就报错(全局期待),应用
.implicitly_wait(time)
- 会减缓测试速度 - 删除
- 须要整个页面加载实现才执行 - 图片,js
- 隐形会烦扰显性,最好不要和显性期待一起应用
- webdriver 期待页面加载实现,找到某个条件产生后再继续执行后续代码,如果超过设置工夫检测不到则抛出异样(某个特定元素设置的期待)
- 导入类:
from selenium.webdriver.support.ui import WebDriverWait
.until().until_not()
- 导入模块:
from selenium.webdriver.support import expected_conditions
title_is(title)
title_contains(title)
element_to_be_selected(element)
- 语法:
WebDriverWait(driver,timeout).until
(可执行的办法,超时后返回的信息)
- 实例:
WebDriverWait(self.driver,10).until(expected_conditions.title_is
(‘ 管理系统 ’))
- 失常应用场景:初始化:
wait=WebDriverWait(self.driver,10)
应用:self.wait.until(expected_conditions.title_is
(‘ 管理系统 ’))
- 固定期待多长时间
time.sleep(time)
.get_screenshot_as_file('D:\selenium.png')