Selenium 3 学习小结
4个类+常用的46个方法

从以下知识内容对selenium 3自动化框架进行初步学习:
1.安装selenium
pip install selenium
pip list
2.驱动、关闭浏览器
首先需要下载浏览器的.exe驱动软件,解压后放在python路径里的Scripts里面,不同浏览器对应驱动不同,应注意版本的对应。由于火狐版本一直没纠正对,所以后来选择了Chrome。
驱动浏览器:
from selenium import WebDriver
d=webdriver.Chrome()
d.get('http://baidu.com')
关闭单个窗口:close()方法
关闭所有窗口:quit()方法
3.selenium 8种元素定位
id、name、class_name、tag_name(标签)、link_text、partial_link_text、xpath、css_selector
对应方法: find_element_by_XX()方法
如需定位一组元素只需改为:find_elements_by_XX()
4.控制浏览器操作
窗口大小:set_window_size(宽,高)方法、maximize_window()方法
前进、后退:通过url地址调用,forward()方法与back()方法
刷新页面:refresh()方法
点击和输入:
清除文本:clear()方法
模拟按键输入:send_keys(value)方法
点击元素/提交元素:click()方法/submint()方法
获取元素尺寸:size()方法
获取元素文本:text()方法
获得属性值:get_attribute(name)方法
设置元素是否用户可见:is_displayed()方法
5. 鼠标键盘 ActionChains类 与Keys()类
ActionChains()类中包含了鼠标操作的常用方法:
使用前先导入:from selenium.webdriver.common.action_chains import ActionChains
右击:context_click()方法
双击:double_click()方法
拖动:drag_and_drop()方法
鼠标悬停:move_to_element()
执行所有ActionChains中存储的行为:perform()方法,也可以理解为,对整个操作的提交动作。
Keys()类提供了键盘上几乎所有的按键方法:
使用前先导入:from selenium.webdriver.common.keys import Keys
模拟键盘输入:send_keys()方法 #也用作文件上传
删除键:send_keys(Keys.BACK_SPACE)
空格键:send_keys(Keys.SPACE)
......
6.用来对比结果与预期的几个方法
获得当前页面的标题:title
用户获得当前页面的URL:current_url
获取搜索条目的文本信息:text
7.三大等待:WebDriverWait(驱动,时常,间隔,报错)类 与 implicitly_wait(时间)方法、sleep(时间)方法
分别对应显式等待(等元素)、隐式等待(等页面)、强制等待(等时间)
使用前需分别导入:
from selenium.webdriver.support.ui import WebDriverWait
import time
from time import sleep
8.切换操作:switch_to.XX()方法 需加强练习
多表单切换:switch_to_frame()方法 #注意动态ID的处理
多窗口切换:switch_to_window()方法
警告框处理:switch_to_alert()方法 类似还有,switch_to_confiem(),switch_to_prompt()
其后可跟,返回:text方法
接受现有警告框:accept()方法 eg: driver.switch_to_alert.accept() #方法后可根方法
解散现有框架:dismiss()
发送文本至警告框:send_key(keysToSend) #keysToSend将文本发送至警告框
9.处理下拉框 Select()类
Select类用于定位select标签,select_by_value() 方法用于定位下接选项中的value值。
使用前需导入:from selenium.webdriver.support.select import Select
10.cookie操作
获得所有cookie信息:get_cookies()方法
获得字典key值为“name”的cookie信息:get_cookie(name)方法
添加cookie:add_cookie(cookie_dict)方法 #“cookie_dict”指字典对象,必须有name 和value 值。
删除所有cookie信息:delete_all_cookies()
删除cookie信息:delete_cookie(name,optionsString) #“name”是要删除的cookie的名称,“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”。
11 杂
调用JavaScript代码:execute_script()方法
窗口截图:get_screenshot_as_file()方法
留个python基本功不扎实的问题,为什么有的方法后面带括号,有的不带呢?
Selenium 3 学习小结的更多相关文章
- selenium webdriver学习(二)————对浏览器的简单操作(转载JARVI)
selenium webdriver学习(二)————对浏览器的简单操作 博客分类: Selenium-webdriver selenium webdriver对浏览器的简单操作 打开一个测试浏览 ...
- flex学习小结
接触到flex一个多月了,今天做一个学习小结.如果有知识错误或者意见不同的地方.欢迎交流指教. 画外音:先说一下,我是怎么接触到flex布局的.对于正在学习的童鞋们,我建议大家没事可以逛逛网站,看看人 ...
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)
react学习小结 本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...
- objective-c基础教程——学习小结
objective-c基础教程——学习小结 提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织:XCode使用介绍) ...
- Selenium Grid 学习笔记
Selenium Grid 学习笔记http://www.docin.com/p-765680298.html
- pthread多线程编程的学习小结
pthread多线程编程的学习小结 pthread 同步3种方法: 1 mutex 2 条件变量 3 读写锁:支持多个线程同时读,或者一个线程写 程序员必上的开发者服务平台 —— DevSt ...
- Selenium webdriver 学习总结-元素定位
Selenium webdriver 学习总结-元素定位 webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要 ...
- ExtJs学习笔记之学习小结LoginDemo
ExtJs学习小结LoginDemo 1.示例:(登录界面) <!DOCTYPE html> <html> <head> <meta charset=&quo ...
随机推荐
- mpvue体验微信小程序开发
微信小程序 https://developers.weixin.qq.com/miniprogram/introduction/index.html?t=18082114 微信小程序是一种全新的连接用 ...
- Lua中的userdata
[话从这里说起] 在我发表<Lua中的类型与值>这篇文章时,就有读者给我留言了,说:你应该好好总结一下Lua中的function和userdata类型.现在是时候总结了.对于functio ...
- 【easy】168. Excel Sheet Column Title 171. Excel Sheet Column Number
class Solution { public: string convertToTitle(int n) { ) { return ""; } ) / ) + () % + 'A ...
- 【原创】大数据基础之Ambari(4)通过Ambari部署Impala
ambari2.7.3(hdp3.1) 安装 impala2.12(自动安装最新) ambari的hdp中原生不支持impala安装,下面介绍如何通过mpack方式使ambari支持impala安装: ...
- 完全卸载删除gitlab
完全卸载删除gitlab 1.停止gitlab gitlab-ctl stop 2.卸载gitlab(注意这里写的是gitlab-ce) rpm -e gitlab-ce 3.查看gitlab进程 p ...
- NOIP基本算法
NOIP基本算法 1.二分 poj 2018 Best Cow Fences ▪ http://poj.org/problem?id=2018 ▪ 题意:给定一个正整数数列
- mysql拼接字符串
CONCAT(str1,str2,...) 如:在每一列meeting_persons的现有内容之上,增加15112319字符串 UPDATE wos_hrs.meeting_logs SET mee ...
- yagmail 实现发邮件
yagmail 实现发邮件 yagmail 可以更简单的来实现自动发邮件功能. github项目地址: https://github.com/kootenpv/yagmail 安装 pip insta ...
- Python目录:
Python基础 python书写规范--消去提示波浪线 Python 列表(list) Python字符串 Python字典 Python文件操作 Python函数 Python函数-装饰器 Pyt ...
- MySQL和B树的那些事
一.零铺垫 在介绍B树之前,先来看另一棵神奇的树——二叉排序树(Binary Sort Tree),首先它是一棵树,“二叉”这个描述已经很明显了,就是树上的一根树枝开两个叉,于是递归下来就是二叉树了( ...