1.基本
- webdriver.Firefox()
- webdriver.Ie()
- webdriver.Chrome()
初始化浏览器 - get(url)
get请求 - quit()
关闭浏览器及相关驱动程序
2.定位
语法 一
- find_element_by_id(“string”)
基于id寻找组件 - find_element_by_name(“string”)
基于关键字寻找组件 - find_element_by_class_name(“string”)
基于class属性寻找组件 - find_element_by_tag_name(“string”)
基于标签寻找组件 - find_element_by_link_text(“string”)
基于完整链接文本寻找组件 - find_element_by_partial_link_text(“string”)
基于链接部分文本寻找组件 - find_element_by_xpath(“string”)
基于xpath格式寻找组件 - find_element_by_css_selector(“string”)
基于css选择器寻找组件
语法 二
- find_element(By.ID, “string”)
基于id寻找组件 - find_element(By.NAME, “string”)
基于关键字寻找组件 - find_element(By.CLASS_NAME,“string”)
基于class属性寻找组件 - find_element(By.TAG_NAME, “string”)
基于标签寻找组件 - find_element(By.LINK_TEXT, “string”)
基于完整链接文本寻找组件 - find_element(By.PARTIAL_LINK_TEXT, “string”)
基于链接部分文本寻找组件 - find_element(By.XPATH, “string”)
基于xpath格式寻找组件 - find_element(By.CSS_SELECTOR, “string”)
3.浏览器属性控制
- 控制浏览器大小
set_window_size(x,y) - 控制浏览器后退、前进
back()
forward() - 控制浏览器刷新
refresh() - 控制火狐浏览器属性
set_preference()
4.简单元素操作
- 清楚文本
clear() - send_keys(“string”)
模拟按键输入 - 单击元素
click()
5.WebElement接口常用方法
- 提交表单
submit() - 获取元素尺寸
size - 获取元素文本
text - 获取属性值
get_attribute(name) - 设置该元素是否用户可见
is_displayed()
6.鼠标事件
- 执行ActionChains 中储存的行为
perform() - 右击
context_click() - 双击
double_click() - 拖动
drag_and_drop() - move_to_element()
鼠标悬停
7.常用键盘操作
- 删除键
Keys.BACK_SPACE - 空格键
Keys.SPACE - 制表键
Keys.TAB - 回车键
Keys.ENTER - 回退键
Keys.ESCAPE - 全选
send_keys(Keys.CONTROL,‘a’) - 复制
send_keys(Keys.CONTROL,‘c’) - 剪切
send_keys(Keys.CONTROL,‘x’) - 粘贴
send_keys(Keys.CONTROL,‘v’) - 键盘F1 ~ F12
Keys.F1
8.页面属性
- 当前title
title - 当前URL
current_url
9.元素等待,解决ajax
WebDriverWait(driver, timeout, pool_frequency,ignore_exceptions)
driver 浏览器驱动
timeout 最长超时时间,默认秒为单位
poll_frequency 检测的间隔默认0.5秒
ignored_exceptions 超市后的异常信息,默认情况抛出NonSuchElementException异常
WebDriverWait() 一般配合until() 或 until_not()方法使用
until(method, message=’’)
直到method方法返回true
until_not (method,message=’’)
知道 method方法返回false
隐式等待
driver.implicitly_wait(10)
多窗口切换
- 当前窗口
current_window_handle - 所有窗口
current_handles - 切换窗口
switch_to.window(handle)
警告框处理
-
切换到警告框
switch_to_alert() -
同意
accept() -
解散
dismiss() -
发送文本
send_keys()
Firefox火狐浏览器下载配置
- browser.download.folderList
0代表默认路径,1代表指定路径 - browser.download.manager.showWhenStarting
是否显示开始:True显示,False不显示 - browser.download.dir
储存目录
操作cookie
- get_cookie()
获取所有cookie信息 - get_cookie(name):
获取key为name的cookie - add_cookie(cookie_dict):
添加字典为cookie_dict的cookie - delete_cookie(name,optionsString)
删除cookie - delete_all_cookies()
删除所有cookie
执行js代码
driver.execute_script(js)
截图
get_screenshot_as_file(保存路径)