4.基础操作方法2
2020-12-03 本文已影响0人
f5423d3134f0
selenium_day_4
1.单选框和复选框
- 单选框 type:radio
- 定位-->点击
- 判断是否被选中
- 元素.is_selected()
- 复选框 type:checkbox
- 只选择一个---->同单选框一样
- 全选
- 定位所有复选框
- 遍历
- 判断是否被选中
- 点击
- 选择部分
- 将部分提取出来生成一个列表格式,做筛选
2.浏览器加载项实现免登陆(了解)
- 手动登录一次,并且记住密码
- 火狐浏览器
- 1.找配置文件夹路径 profile_directory变量名保存
- 2.profile = webdriver.FirefoxProfile(profile_directory)
- 3.driver = webdriver.Firefox(profile)
- 4.打开需要免登陆的地址
- 谷歌浏览器
- 1.个人资料路径 user_data_dir = "--user-data-dir=路径"
- 2.options = webdriver.ChromeOptions()
- 3.options.add_argument(user_data_dir)
- 4.driver = webdriver.Chrome(options=options)
- 5.打开需要免登陆的地址
3.富文本操作
- 富文本
- 可以编辑输入文字的输入框
- 操作富文本相当于操作iframe
4.上传文件
- 对于input类型的type=file
- send_keys("文件路径")
5.cookie
因为HTTP协议是无连接,无状态的
cookie---记录用户信息,身份识别,不安全
客户端--浏览器
cookie保存的信息按照键值对形式保存的
sessionID和用户的IP绑定
session---保存在服务端
token---针对移动端
5.1cookie组成
{'domain': 'baidu.com', 'expiry': 3715061771.33889, 'httpOnly': False, 'name': 'BAIDUID', 'path': '/', 'secure': False, 'value': '365A71E423ECB961F95747D0BB3C7F5D:FG=1'}
- domain: cookie的域名
- httpOnly:预防XSS攻击--跨站脚本攻击
- name: cookie名称 必须存在一个属性
- path: cookie产生的路径
- secure: 定义cookie安全性
- value: cookie名称对应的值 必须存在一个属性
- expiry: cookie有效期
5.2cookie操作
- 获取所有的cookie
- driver.get_cookies() # 格式,列表嵌套字典[{},{},{}.....]
- 添加cookie
- driver.add_cookie(字典格式参数)
6.元素等待
1.sleep
- 强制等待-----Python代码
2.隐式等待
- 针对的是整个页面;在固定等待时间内,检测整个页面的元素是否加载成功
- implicitly_wait()
- 参数:时间---最大等待时间,单位秒s
3.显式等待
- 针对具体元素:在固定等待时间内,检测元素是否存在---检测方式---轮询
- WebDriverWait 类
- WebDriverWait(driver,timeout).until(method)
- driver --浏览器
- timeout --最大等待时间
- method --将一个方法作为参数使用
- WebDriverWait(driver,timeout).until(method)
7.EC模块
expected_conditions---预期条件:对selenium中一些方法做的封装
- EC模块一般和WebDriverWait配合使用
- WebDriverWait(driver,timeout).until(EC.方法)
- title_is(预期标题) ---判断页面标题是否和预期标题完全一致