selenium4

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("文件路径")

  • 非input标签类型的,可以借助autoit工具或者SendKeys第三方库。

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(字典格式参数)

5.3验证码处理

  • 2.1 去掉验证码(风险)

  • 2.2 万能验证码

  • 2.3 验证码识别技术(不推荐使用)

  • 2.4 操作cookie 1.获取登录后的cookie 通过浏览器F12或抓包工具 2.将登录后的cookie添加到脚本中(确定具体需要使用那些值) driver.add_cookie(字典格式) 3.执行刷新操作 driver.refresh()

  • 2.5 设置浏览器加载项

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(预期标题) ---判断页面标题是否和预期标题完全一致

作业 day_4

1.课堂代码 抄1遍,敲2遍

2.总结前四天学习内容

敏捷开发流程

用户想法----->产品---->需求(优先级,上线时间)------->需求池----->开发,测试,产品决定提取哪些需求

开会决定下一个周期工作内容

周期:一周/2周 以1周为例

每周周五:开发,测试,产品开会决定下周的工作内容

周一------周三:开发时间

周一:分析需求,排列每个需求的交付时间,最迟的交付时间周三下班前

如果开发认为周三无法交付,提前报风险,风险评估(开发,测试,产品负责人)

周四,周五:测试时间

产品---开发---测试---运维

公司日常工作流

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值