seleniumUI自动化实例(CSDN发布文章)

1.CSDN登陆成功后,点击发布

源码:

#点击首页中的发布按钮
CSDNconf.driver.find_element(By.LINK_TEXT,"发布").click()
time.sleep(15)

2.输入标题

#输入文章标题,标题格式“selenium UI自动化测试实例+今天的日期”
CSDNconf.driver.find_element(By.ID,"txtTitle").send_keys("selenium UI自动化测试实例"+str(datetime.datetime.now()))
#F12看源码我们可以i发现,输入内容的文本框进入了一个新的iframe,所以我们要定位到新的ifram,并通过switch_to_frame这个方法进入,才可以进行下一步写入的操作

3.进入内容编写框,需要进入新的iframe

#F12看源码我们可以i发现,输入内容的文本框进入了一个新的iframe,所以我们要定位到新的ifram,并通过switch_to_frame这个方法进入,才可以进行下一步写入的操作
frame=CSDNconf.driver.find_element(By.XPATH,"/html/body/div[2]/div/div/div[1]/div[2]/section/div/div[1]/div/section/section/main/div/div/div/div/div/div/form/div[4]/div/div/iframe")
CSDNconf.driver.switch_to_frame(frame)

4.输入文本内容

#输入博客内容,读取本地文件,并讲内容写进body
csdnFile=open("D:\Pythonproject\CSDNUItest\csdnnr.txt",'r')
CSDNnr=csdnFile.readlines()
print(CSDNnr)
CSDNconf.driver.find_element(By.CLASS_NAME,"htmledit_views.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").send_keys(CSDNnr)

5.添加文章标签

#添加文章标签
CSDNconf.driver.find_element(By.CLASS_NAME,"mark_selection_title_el_tag").click()
print("322222")
CSDNconf.driver.find_element(By.CLASS_NAME,"el-autocomplete").send_keys("软件测试",Keys.ENTER)#输入内容后直接回车

6.最后点击发布博客

CSDNconf.driver.switch_to_default_content()#由于之前进入了iframe,想要点击发布博客,我们需要回到默认的
CSDNconf.driver.find_element(By.CLASS_NAME,"el-button.btn-outline-danger.ml16.el-button--primary.is-round").click()

到此为止,整个简单的发布博客实例就完整结束了,想要源码的可以私信~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

POI和EasyExcel区别和操作Excel

POI和EasyExcel操作Excel 常用场景 1、将用户信息导出为excel表格(导出数据… ) 2、将Excel表中的信息录入到网站数据库(文件数据上传… ) 开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库…

springboot+itextpdf+thymeleaf+ognl根据静态模版文件实现动态生成pdf文件并导出demo

第一步&#xff1a;导入maven依赖 <!-- 导出为PDF依赖包 --><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId></dependency><dependency><groupId>com.itextpdf</groupId><art…

HarmonyOS(鸿蒙)应用开发——(一)

目录 1 创建hellopro项目 2 了解ArkTS 3 了解ArkTS的组件 4 组件介绍 4.1 常用基础组件&#xff1a; 4.1.1 Text 4.1.2 Button 4.1.3 TextInput 4.2 容器组件 4.2.1 Column 4.2.2 Row 5 案例——实现一个简易登录页面 5.1 在实现预览效果之前&#xff0c;我们…

【机器学习】基于果蝇算法优化的BP神经网络分类预测(FOA-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】果蝇算法&#xff08;FOA&#xff09;原理及实现 2.设计与实现 数据集&#xff1a; 多输入多输出&#xff1a;样本特征24&#xff0c;标签类别4。…

【计算机视觉】三、图像处理——实验:图像去模糊和去噪、提取边缘特征

文章目录 0. 实验环境1. 理论基础1.1 滤波器&#xff08;卷积核&#xff09;1.2 PyTorch:卷积操作 2. 图像处理2.1 图像读取2.2 查看通道2.3 图像处理 3. 图像去模糊4. 图像去噪4.1 添加随机噪点4.2 图像去噪 0. 实验环境 本实验使用了PyTorch深度学习框架&#xff0c;相关操作…

bezier曲线拟合椭圆弧线

椭圆弧线用bezier曲线拟合 。 先计算出 椭圆中心 起始角度 旋转角度 S t e p 1 : C o m p u t e ( x 1 ′ , y 1 ′ ) Step 1: Compute(x_1, y_1) Step1:Compute(x1′​,y1′​) ( x 1 ′ y 1 ′ ) ( cos ⁡ φ sin ⁡ φ − sin ⁡ φ cos ⁡ φ ) ⋅ ( x 1 − x 2 2 y 1 −…

some/ip CAN CANFD

关于SOME/IP的理解 在CAN总线的车载网络中&#xff0c;通信过程是面向信号的 当ECU的信号的值发生了改变&#xff0c;或者发送周期到了&#xff0c;就会发送消息&#xff0c;而不考虑接收者是否需要&#xff0c;这样就会造成总线上出现不必要的信息&#xff0c;占用了带宽 …

RabbitMQ详细讲解

目录 4.0 AMQP协议的回顾 4.1 RabbitMQ支持的消息模型 4.2 引入依赖 4.3 第一种模型(直连) 1. 开发生产者 2. 开发消费者 3. 参数的说明 4.4 第二种模型(work quene) 1. 开发生产者 2.开发消费者-1 3.开发消费者-2 4.测试结果 5.消息自动确认机制 4.5 第三种模型(…

React——props children (插槽平替)

React当中不存在v-slot插槽这种概念&#xff0c;而当我们又需要实现这个种功能时&#xff0c;该怎么办呢&#xff1f; 我们可以通过props children属性去实现。 props children属性&#xff1a; children属性&#xff1a;表示该组件的子节点&#xff0c;自动放在props的chil…

开源表单设计器vue-form-design自动化校验实现原理

表单校验可以改善用户体验和减轻服务器的压力, 而动态配置表单校验能极大的提高动态表单的扩展性、灵活性, 满足多样性、差异化需求 目标 &#x1f44c;&#xff0c;首先我们简要说下要实现的目标功能&#xff1a; 具有基础的表单验证功能提供一些内置验证规则提供对外开放的…

ORACLE:VARCHAR2(4000)太小怎么办?

目录 数据备份&#xff1a; 1. 创建新列&#xff1a; 2. 迁移数据&#xff1a; 3. 验证数据完整性&#xff1a; 4.删除旧列&#xff1a; 5. 重命名新列&#xff08;如果需要保持原列名&#xff09;&#xff1a; 在Oracle数据库中&#xff0c;你不能直接通过ALTER TABLE语…

用OceanBase binlog service 轻松进行数据回滚

背景 在日常的数据库运维过程中&#xff0c;难免会遭遇数据误操作的情形&#xff0c;比如因疏忽而执行了非预期的delete或update操作&#xff0c;这时就需要进行数据回滚。如果在OceanBase中启用了回收站功能&#xff0c;并设置了合适的undo_retention&#xff0c;那么我们可以…

如何在ubuntu 18.04中升级python 3.6到3.7

在ubuntu下安装python 3.7有两种方法: 1,通过使用Deadsnakes PPA中的标准apt工具(本文暂时只介绍这种方法) 2,从源代码进行构建。 前提条件&#xff1a; 需要以root用户或具有sudo访问权限的用户身份登录才能在Ubuntu系统上安装软件包。 方法一&#xff1a;使用apt工具安装…

jmx_prometheus_javaagent-0.19.0.jar+Prometheus+Grafana 监控Tongweb嵌入式(by lqw)

文章目录 1.思路2.部署准备3.应用jar包修改配置和导入tw嵌入式的依赖&#xff08;参考&#xff09;4.Prometheus部署5.Prometheus配置6.安装和配置Grafana 1.思路 Tongweb嵌入式最终是把依赖打入到java应用&#xff08;也就是jar包里&#xff09;&#xff0c;然后启动jar包进行…

Spring Boot 配置中心与应用属性完美匹配 | 深入探究@ConfigurationProperties与@NacosPropertySource

ConfigurationProperties ConfigurationProperties 注解是 Spring Boot 中用于将外部配置文件&#xff08;如 YAML 或 properties 文件&#xff09;中的属性映射到 Java Bean 类属性的强大工具。 以下是关于 ConfigurationProperties 注解与 YAML 配置文件属性匹配规则的详细…

单片机LED灯闪烁

延时函数计算&#xff08;相关代码生成&#xff09;&#xff1a; #include "reg52.h" #include <INTRINS.H> void Delay500ms() //11.0592MHz {unsigned char i, j, k;_nop_();_nop_();i 22;j 3;k 227;do{do{while (--k);} while (--j);} while (--i); }vo…

让扣你代码的人电脑关机-js反爬

文案 让扣你代码的人电脑关机&#xff0c;赶紧学起来。众所周知。浏览器中无法导入模块&#xff0c;会报错。nodejs中可以导入模块。那么我们可以在导入语句后加入整蛊代码。在捕获异常后执行正常的代码。那么代码在浏览器中就会正常执行&#xff0c;而当你在本地环境中执行的…

Electron 开发环境搭建指南:从 Node.js 到第一个桌面应用

Electron 开发环境搭建指南&#xff1a;从 Node.js 到第一个桌面应用 第一步&#xff1a;安装Node.js第二步&#xff1a;初始化Electron项目第三步&#xff1a;创建用户界面第四步&#xff1a;运行Electron应用 相信看到这里的小伙伴已经是看到了第一篇对于 Electron 框架的介绍…

Docker常用命令!!!

一、docker基础命令 1、启动docker systemctl start docker 2、关闭docker systemctl stop docker 3、重启docker systemctl restart docker 4、docker设置随服务启动而自启动 systemctl enable docker 5、查看docker 运行状态 systemctl status docker 6、查看docker 版本号信…

Microsoft Edge浏览器Internal Server Error问题解决

网页无法在Microsoft Edge浏览器&#xff0c;尝试Google浏览器可以&#xff0c;排除服务器问题&#xff0c;应该是浏览器本身的问题。 一般这种都是和cookie有关&#xff0c;尝试删除记录 解决&#xff01;