我所在的城市昨天出了近20+的阳性案例,但这丝毫没有 “影响” 到996的工作时间,当然,也没有影响到我想继续更新文章的决心。

一、cookie常用操作入门

上一篇有写过关于cookie的实战案例,个人觉得没有很好地照顾到入门同学的感受,所以就又更新了关于cookie的基本使用操作。

1、获取所有cookie信息

示例代码:

cookies = driver.get_cookies()
for cookie in cookies:
#### 遍历cookie
print(cookie) print('集合长度:' + str(len(cookies)))

2、删除所有cookie信息

示例代码:

driver.delete_all_cookies()
cookies = driver.get_cookies()
print('删除后cookies集合长度:' + str(len(cookies)))

3、添加cookie

和JSON很像,必须有name和value值,python叫字典,示例代码:

cookie = {'name': 'login', 'value': 'true'}
driver.add_cookie(cookie)

4、获取指定名称的cookie信息

示例代码:

login_cookie = driver.get_cookie('login')
print('取出刚添加的cookie值: ' + str(login_cookie))

5、删除指定名称的cookie信息

示例代码:

driver.delete_cookie("login")
cookies = driver.get_cookies()
#删除login后,应该就没cookie了
print(cookies)

二、截图操作

1、获取当前屏幕截图,使用完整路径,文件名以时间命名

示例代码:

nowTime = time.strftime("%Y%m%d%H%M%S")
driver.get_screenshot_as_file('%s.png' % nowTime)

2、保存屏幕截图

示例代码:

driver.save_screenshot("testbaidu.png")

3、获取当前屏幕截图base64编码字符串

示例代码:

driver.save_screenshot("testbaidu.png")
print(driver.get_screenshot_as_base64())

4、获取当前屏幕截图的二进制文件数据

示例代码:

print(driver.get_screenshot_as_png())

三、单选框及复选框处理

判断是否选中:is_selected(),有时单选框、复选框会有默认选中的情况,那么有必要在操作单选框或者复选框的时候,先判断选项框是否为选中状态。使用element.is_selected()来获取元素是否为选中状态,返回结果为布尔类型,如果为选中状态返回True,如果未选中返回为False

至于操作就不必多说了,对大家来讲是So Easy,就点击就可以了。

1、单选框

示例代码;


**# 获取第1个单选框李白元素对象
element = driver.find_element(By.CSS_SELECTOR,"[value='0']")
isSelected = element.is_selected()
# 查看李白是否被选中
if isSelected:
print('李白已被选中,你只能选下一个英雄了') # 获取第3个单选框露娜元素对象
element = driver.find_element(By.CSS_SELECTOR,"[value='2']")
# 判断是否被选中
if not element.is_selected():
# 如果未被选中,就可以直接选了
element.click()**

2、复选框

具体实例代码如下:

# 获取第三个复选框公孙离元素对象
element = driver.find_element(By.NAME, "checkbox3")
isSelected = element.is_selected()
# 如果选中取消选中
if isSelected:
element.click() # 全选操作
elements = driver.find_elements(By.CSS_SELECTOR, "[type='checkbox']")
# 遍历选项
for element in elements:
# 点击选中
element.click()

四、富文本框操作

1、什么是富文本编辑器?

富文本编辑器,Rich Text Editor, 简称 RTE, 是一种可内嵌于浏览器,所见即所得的文本编辑器。

具体长啥样,如下图:

2、通过键盘事件操作富文本

通过Tab键,先移到富文本框中,自己需要提前数好需要按几下tab,才能介入,多写几个tab,也无妨,因为只有进入富文本,tab相当于缩进了。

示例代码如下:

action=ActionChains(driver)
# 鼠标通过tab要先移到富文本框中(自己需要提前数好需要按几下tab,才能介入,多写几个tab,也无妨,因为只有进入富文本,tab相当于缩进了)
for i in range(1,18):
action.send_keys(Keys.TAB).perform()
time.sleep(1) action.send_keys("欢迎关注公众号:软件测试君").perform()

3、通过进入iframe实现操作富文本

示例代码如下:

driver.implicitly_wait(30)
# 进入富文本编辑器
driver.switch_to.frame("ueditor_0")
time.sleep(2)
driver.find_element(By.CSS_SELECTOR, ".view").click()
time.sleep(2)
# 输入文字
driver.find_element(By.CSS_SELECTOR, "[contenteditable='true']").send_keys("欢迎关注公众号:软件测试君")
time.sleep(2)
# 选中全部
driver.find_element(By.CSS_SELECTOR, ".view").send_keys(Keys.CONTROL + "a")
time.sleep(2)
# 跳出富文本编辑器
driver.switch_to.default_content()
# 加粗操作
driver.find_element(By.CSS_SELECTOR,".edui-for-bold .edui-icon").click()

4、通过执行js实现富文本操作

示例代码如下:

driver.get("https:uutool.cn/ueditor/")
content = "欢迎关注公众号:软件测试君";
#ueditor_0为所在iframe的id
js = "document.getElementById('ueditor_0').contentDocument.write('" + content + "');"
driver.execute_script(js)

五、日历控件操作

思路:移除元素的readonly属性,然后执行输入操作

示例代码如下:

driver.get("https://kyfw.12306.cn/otn/index/init")
# 去掉元素的readonly属性
js = 'document.getElementById("train_date").removeAttribute("readonly");'
driver.execute_script(js) # 用js方法输入日期
# js_value = 'document.getElementById("train_date").value="2022-11-24"'
# driver.execute_script(js_value) # # # 清空文本后输入值
driver.find_element(By.ID,"train_date").clear()
driver.find_element(By.ID,"train_date").send_keys("2022-11-24")

写在最后

我也曾无数次问过自己,该不该继续坚持写文章努力更新下去?

也可以说,我曾动摇过,因为做公号迁移后,导致我文章阅读量及转载的严重下滑,这真的让我很难受。

回想当初做公号的初心,一是为了交友,找到一些志同道合的技术朋友一起学习,二是,写出来当做学习笔记,或者可以说是复习笔记。

但更多的可能是期待能得到更多正向反馈,因为能让我们自己一直持续做某一件事情的原因,多半是来自他人的认可,然后并尽量把这件事情做到更好。

有自己的目标,找到自己努力的方向及节奏,只管坚持去做好了,剩下的就交给时间吧!

我是六哥,请继续关注我,一直996工作制,更文稍慢,还请谅解,原创不易,不求打赏,只求转发!

Selenium4+Python3系列(八) - Cookie、截图、单选框及复选框处理、富文本框、日历控件操作的更多相关文章

  1. Selenium3自动化测试【28】单选框、复选框、下拉选择框

    Html页面中的单选按钮.复选框.下拉框均可通过WebDriver实现操做.本节结合案例一起来看看WebDriver如何操做这些控件. 同步视频知识与系列知识内容,可关注:[公众号]:柒哥测试:[WX ...

  2. CSS学习笔记三:自定义单选框,复选框,开关

    一点一点学习CCS,这次学习了如何自定义单选框,复选框以及开关. 一.单选框 1.先写好body里面的样式,先写几个框 <body> <div class="radio-1 ...

  3. 自动化测试-15.selenium单选框与复选框状态判断

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  4. 2.12 单选框和复选框(radiobox、checkbox)

    2.12 单选框和复选框(radiobox.checkbox) 本篇主要介绍单选框和复选框的操作一.认识单选框和复选框    1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是 ...

  5. Selenium2学习(十五)-- 单选框和复选框(radiobox、checkbox)

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  6. 微信小程序-修改单选框和复选框大小的方法

    方法有两种: 一:采用css的zoom属性 zoom缩放会将元素保持在左上角,并且会有毛边,可能会稍稍改变元素原来的形状. 二:采用css3的transform:scale属性 zoom缩放会将元素保 ...

  7. HTML--使用单选框、复选框,让用户选择

    在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选.请看 ...

  8. Selenium3+python自动化 单选框和复选框

    一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了. 二.radio和 ...

  9. jQuery获取单选框(复选框)选中的状态

    jQuery 获取单选框(复选框)选中的状态 <input type="checkbox" name="" id="choose"/& ...

  10. vue.js实现单选框、复选框和下拉框

    Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势.下边以单选框.复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式. 一.单选框   在传统的HTM ...

随机推荐

  1. 使用spfa算法判断有没有负环

    如果存在最短路径的边数大于等于点数,就有负环 给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数. 请你判断图中是否存在负权回路. 输入格式 第一行包含整数n和m. 接下来m行每行 ...

  2. 清源正本,鉴往知来,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中引用类型是否进行引用传递EP18

    开篇明义,Go lang中从来就不存在所谓的"引用传递",从来就只有一种变量传递方式,那就是值传递.因为引用传递的前提是存在"引用变量",但是Go lang中从 ...

  3. 聊聊单点登录(SSO)中的CAS认证

    SSO介绍 背景 随着企业的发展,一个大型系统里可能包含 n 多子系统, 用户在操作不同的系统时,需要多次登录,很麻烦,我们需要一种全新的登录方式来实现多系统应用群的登录,这就是单点登录. web 系 ...

  4. Windows 10 20H1 2004新功能

    Windows 10的年度更新版本20H1即将问世.目前可以从insider preview渠道中获得.这个版本中看上去对搜索功能做了不小的改进.包括搜索的磁盘占用率以及搜索的一些展示方式. 其它的一 ...

  5. Windows 2012 R2 iSCSI server

     Windows 2012 R2可以充当一台简单的SAN,提供iSCSI方式的连接,供客户端使用.不确定是否有人会这么使用,但至少在做实验的时候我觉得挺方便的.不用再像以前专门安装windows ...

  6. 安装vm,在vm中安装windows10操作系统。

    步骤:双击打开虚拟机文件 根据向导安装  下一步 然后等待安装 安装好了后点击许可证 ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2DXQE-M2U ...

  7. 洛谷P2517 HAOI2010 订货 (费用流)

    标准的费用流问题,关键在于巧妙地建模 一共有n个月份,源点设为0,汇点设为n+1 1.源点向所有月份连边,容量为正无穷,费用为该月进货的费用 2.每个月向下一个月连边,容量为仓库容量,费用为存货费用 ...

  8. 2021 CCPC 威海站 VP记录(题解)

    2021 CCPC 威海站 VP记录(题解) 题目顺序为vp时开题顺序: A - Goodbye, Ziyin! 签到,连边数小于等于2的可以作为二叉树根,若有大于4的直接输出0. code: voi ...

  9. for循环及range内置方法

    目录 while循环补充说明 流程控制之for循环 range方法 rang实战案例 作业 """ 1.先写注释(思维逻辑和想法) 2.先考虑主体功能 在考虑附加功能 & ...

  10. mujoco d4rl 安装问题

    最近mujoco免费了,属实爽歪歪,安装d4rl没有以前那么麻烦了(不知为何半年前我安装d4rl时走了那么多弯路) mujoco安装 在 https://mujoco.org/download 上面下 ...