4.基础操作方法2

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 --将一个方法作为参数使用

7.EC模块

expected_conditions---预期条件:对selenium中一些方法做的封装

  • EC模块一般和WebDriverWait配合使用
    • WebDriverWait(driver,timeout).until(EC.方法)
  • title_is(预期标题) ---判断页面标题是否和预期标题完全一致

你可能感兴趣的:(4.基础操作方法2)