UI自动化填写问卷(selenium)+定时任务(懒人必备)
1.自动填报
UI自动化 selenium
开发程序动机:天天有人催着填写问卷,弄的头大。主要还是懒的每天一个个去填写内容。
开发总时长:2个小时;学习+开发+修改
遇到的小问题:
在自动化填写地图的时候,这个高德地图输入地址后下面无法实时更新(自己的chrome问题).

解决方法:
获取重新定位的按钮,然后在确定地址(不是很精确)
源码分享:
from selenium import webdriver
import time
import random
def run():
#3
driver.find_element_by_id("q3").send_keys("赵常恒")
#4
driver.find_element_by_id("q4").send_keys("36."+str(random.randint(0,5)))
#5
driver.find_element_by_id("q5").send_keys("36." + str(random.randint(0, 5)))
#6
js="document.getElementById(\"q6_2\").click()"
driver.execute_script(js)
#7
js = "document.getElementById(\"q7_2\").click()"
driver.execute_script(js)
#8
driver.find_element_by_id("q8").send_keys("父亲36.1 / 36.2 母亲36.3 / 36.4")
#9
js = "document.getElementById(\"q9_2\").click()"
driver.execute_script(js)
#10
js = "document.getElementById(\"q10_2\").click()"
driver.execute_script(js)
#11
js = "document.getElementById(\"q11_2\").click()"
driver.execute_script(js)
#12
driver.find_element_by_id("q12").click()
driver.switch_to.frame("PDF_i_chezchenz")
driver.find_element_by_class_name("amap-geolocation-con").click()
#driver.find_element_by_xpath('/html/body/div/div[2]/ul/li[1]').click()
time.sleep(1)
element = driver.find_element_by_xpath("/html/body/div/div[4]/div[1]/a")
driver.execute_script("arguments[0].click();", element)
#driver.find_element_by_css_selector("a.ensure_btn").click()
time.sleep(1)
driver.switch_to.default_content()
#13
js = "document.getElementById(\"q13_2\").click()"
driver.execute_script(js)
#14
driver.find_element_by_id("q14").send_keys("无")
#15
driver.find_element_by_id("q15").click()
driver.switch_to.frame("__calendarIframe")
driver.find_element_by_id("selectTodayButton").click()
driver.switch_to.default_content()
#16
js="document.getElementById(\"q16_1\").click()"
driver.execute_script(js)
#17
js = "document.getElementById(\"q17_2\").click()"
driver.execute_script(js)
#18
js = "document.getElementById(\"q18_2\").click()"
driver.execute_script(js)
#19
js = "document.getElementById(\"q19_2\").click()"
driver.execute_script(js)
#20
driver.find_element_by_id("q20").send_keys("无")
driver.find_element_by_id("submit_button").click()
if __name__=='__main__':
driver=webdriver.Chrome()
driver.get("https://www.wjx.top/jq/78343451.aspx")
run()
2.创建bat文件
wjx.bat
cd D:\PycharmProjects\wjx
D:
python wjx.py
3.设置定时任务
个人采用win10系统,此处也只对win10系统操作说明
1.右键左下角,选择进入计算机管理||右击 “此电脑”选择管理
2.选择任务计划程序,进入任务计划程序库

3.创建任务
常规设置:

触发器设置(可以按自己需要来设置,自己摸索)

操作设置(启动脚本):

设置:

以上步骤完成后,就可以成功的实现自动化填写操作,终于可以给大脑留出其他的空间了。
UI自动化填写问卷(selenium)+定时任务(懒人必备)的更多相关文章
- 懒人必备:.NetCore快速搭建ELK分布式日志中心
该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaicsearch.Kibana的缩写,可用于从不同的服务中收集日志 ...
- MySQL 数据库的tab 补全功能 (懒人必备)
MySQL 数据库的tab补全功能 跟着步骤走~~ 懒人养成第一步 不仅帮你补全 甚至预判你的预判,就问你可怕不可怕 1.安装相关依赖软件(需要配置yum官方 ...
- UI自动化学习笔记- Selenium一些特殊操作的处理
一.特殊操作处理 1. 下拉选择框操作 1.1 如何操作下拉选择框 实现方式一 思路:先定位到要操作的option元素,然后执行点击操作 driver.find_element_by_css_sele ...
- UI自动化学习笔记- Selenium元素等待(强制等待、显示等待、隐式等待)
一.元素等待 1. 元素等待 1.1 什么是元素等待 概念:在定位页面元素时如果未找到,会在指定时间内一直等待的过程 意思就是:等待指定元素已被加载出来之后,我们才去定位该元素,就不会出现定位失败的现 ...
- UI自动化学习笔记- Selenium元素定位及元素操作
一.元素定位 1. 如何进行元素定位? 元素定位就是通过元素的信息或元素层级结构来定位元素的 2.定位工具 浏览器开发者工具 3.元素定位方式 Selenium提供了八种定位元素方式 id name ...
- css之px自动转rem—“懒人”必备
作为一名前端开发,尤其是在做移动端适配时,rem是我们经常用到的单位,它的好处大家可以自行搜索,网上已经有很多了.但是我们再将设计稿上的px转换成rem时,得手动的去计算,这是一个很耗时.费力的过程, ...
- Android Studio “懒人”必备插件android layout id converter
在一个布局文件里.假设定义了非常多非常多id,代码中一个个findview是一件非常枯燥而且浪费时间的事情. 所以这里向大家推荐一个必备插件android layout id converter. 配 ...
- 懒人必备,IntelliJ IDEA中代码一键生成
之前有不少小伙伴问松哥微人事项目(https://github.com/lenve/vhr)使用的 MyBatis 逆向工程在哪里?其实旧版微人事当时没有使用逆向工程,是我自己手动敲出来的,当然手动敲 ...
- Lombok——一款Java构建工具,“懒人”必备!!(idea版)
一.简介 Lombok 是一种 Jav 构建工具,可用来帮助开发人员消除 Java 的冗长代码,尤其是对于简单的 Java 对象(POJO).它是通过注解实现这一目的. 二.使用 1.在idea中安装 ...
随机推荐
- 使用wsl2時碰到的問題
1.啓動wsl系统时出现“参考的对象类型不支持尝试的操作”. 解决方法: netsh winsock reset
- 数据分析02 /pandas基础
数据分析02 /pandas基础 目录 数据分析02 /pandas基础 1. pandas简介 2. Series 3. DataFrame 4. 总结: 1. pandas简介 numpy能够帮助 ...
- postman之测试集
简单点,说话的方式简单点 步骤1:测试全部通过,哈哈~ 开玩笑! 适用场景:多组数据测试,像排比句那样,有规律,比如姓名,性别,年龄.这时候的测试要求就是这些信息与返回体的结果做比较!! 步骤1:创建 ...
- 题解 CF785E 【Anton and Permutation】
考虑用分块解决这个题,一次交换对当前逆序对个数的影响是,加上两倍的在区间\([l+1,r-1]\)中比\(a_r\)小的元素个数,减去两倍的在区间\([l+1,r-1]\)中比\(a_l\)小的元素个 ...
- git pull 放弃本地修改, 全部使用远端代码
git强制覆盖: git fetch --all git reset --hard origin/master git pull git强制覆盖本地命令(单条执行): git ...
- 借鉴一个比较标准的后端RESTful API
我们制定的 API 规范,使用了微服务架构所以做了一些改进,我们更偏向使用 http code 标识,不然需要自己处理成功或失败的逻辑,在 200 内再包一层显得啰嗦:并且微服务系列都不支持,Feig ...
- linux实现shell脚本监控磁盘内存达到阈值时清理catalina.out日志
想在服务器上写一个shell脚本,在磁盘使用率达到80%时,自动清理掉一些没有用的日志文件,根据这个想法,在生产环境上写了一个以下脚本,按照该流程,可实现在linux环境做一个定时任务来执行shell ...
- xctf-pwn pwn200
刚看完题目觉得和前面的level3差不多,只是没有给libc而已... 看完大佬的exp之后整个人都不好了.....果然我还是太菜了 32位开了NX sub_8048484,read函数,明显的栈溢出 ...
- CSRF与XSS攻击的原理与防范
CSRF 1.概念与原理 CSRF,跨站请求伪造,攻击方伪装用户身份发送请求从而窃取信息或者破坏系统.例如: 用户访问A网站登陆并生成了cookie,再访问B网站,如果A网站存在CSRF漏洞,此时B网 ...
- string类型 C++
(C++递归预习到了string类型,这个是处理字符串的一个非常好用的东西,在C里面没有.今天来学习一下) 顺便推荐一个很不错的网站:http://c.biancheng.net/view/400.h ...