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)+定时任务(懒人必备)的更多相关文章

  1. 懒人必备:.NetCore快速搭建ELK分布式日志中心

    该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaicsearch.Kibana的缩写,可用于从不同的服务中收集日志 ...

  2. MySQL 数据库的tab 补全功能 (懒人必备)

    MySQL 数据库的tab补全功能                      跟着步骤走~~ 懒人养成第一步 不仅帮你补全 甚至预判你的预判,就问你可怕不可怕 1.安装相关依赖软件(需要配置yum官方 ...

  3. UI自动化学习笔记- Selenium一些特殊操作的处理

    一.特殊操作处理 1. 下拉选择框操作 1.1 如何操作下拉选择框 实现方式一 思路:先定位到要操作的option元素,然后执行点击操作 driver.find_element_by_css_sele ...

  4. UI自动化学习笔记- Selenium元素等待(强制等待、显示等待、隐式等待)

    一.元素等待 1. 元素等待 1.1 什么是元素等待 概念:在定位页面元素时如果未找到,会在指定时间内一直等待的过程 意思就是:等待指定元素已被加载出来之后,我们才去定位该元素,就不会出现定位失败的现 ...

  5. UI自动化学习笔记- Selenium元素定位及元素操作

    一.元素定位 1. 如何进行元素定位? 元素定位就是通过元素的信息或元素层级结构来定位元素的 2.定位工具 浏览器开发者工具 3.元素定位方式 Selenium提供了八种定位元素方式 id name ...

  6. css之px自动转rem—“懒人”必备

    作为一名前端开发,尤其是在做移动端适配时,rem是我们经常用到的单位,它的好处大家可以自行搜索,网上已经有很多了.但是我们再将设计稿上的px转换成rem时,得手动的去计算,这是一个很耗时.费力的过程, ...

  7. Android Studio “懒人”必备插件android layout id converter

    在一个布局文件里.假设定义了非常多非常多id,代码中一个个findview是一件非常枯燥而且浪费时间的事情. 所以这里向大家推荐一个必备插件android layout id converter. 配 ...

  8. 懒人必备,IntelliJ IDEA中代码一键生成

    之前有不少小伙伴问松哥微人事项目(https://github.com/lenve/vhr)使用的 MyBatis 逆向工程在哪里?其实旧版微人事当时没有使用逆向工程,是我自己手动敲出来的,当然手动敲 ...

  9. Lombok——一款Java构建工具,“懒人”必备!!(idea版)

    一.简介 Lombok 是一种 Jav 构建工具,可用来帮助开发人员消除 Java 的冗长代码,尤其是对于简单的 Java 对象(POJO).它是通过注解实现这一目的. 二.使用 1.在idea中安装 ...

随机推荐

  1. java学习第五天2020/7/10

    一. 今天继续学习算法: 1. 查找,一般我们采用的是顺序查找的方法,这种方法是比较简单,但是效率却很低:一般就是从第一个数开始与想要查找的那个数进行比较,当遇到相同的时候则就成功查找了: 另一种比较 ...

  2. 目录(Django开发)

    python网络编程-socket编程 Django 笔记分享 Django之[基础篇] Django之[进阶篇] Django之 url组件 Django之 Models组件 Django之 adm ...

  3. 前端01 /HTML简单简绍

    前端01 /HTML简单简绍 目录 前端01 /HTML简单简绍 1.web服务本质 2.浏览器的工作流程 3.HTML是什么 4.web服务本质 5.HTML文档结构 6.HTML注释 6.标签语法 ...

  4. Getting Started with Recovery Manager (RMAN) (文档 ID 360416.1)

    In this Document Purpose Scope Details Overview of the RMAN EnvironmentDeciding Whether to Use a Fla ...

  5. 集训 T4-分配时间

    题目: 思路: 这个题目正解为dp,但是我并不会dp,所以写了个类似于T3的搜索.(然后就70分了 先看一张图: 我的思路是把写名字的时间和写卷子的时间算在了一起(下标表示时间点,比如下标2那一行代表 ...

  6. JS内存机制

    在看JS内存机制之前我们先来看一下JS是门什么样的语言,他又有哪些变量类型. 动静态,强弱类型 静态:在使用之前就需要确认其变量数据类型. 动态:在运行过程中需要检查数据类型. 强类型:不支持隐式类型 ...

  7. Java 中的链式编程

    前言 ​ 在写项目的时候,有一个实体类有好多个属性,new 出来之后需要不停的使用setXXX( )方法,效率低而且代码可读性差,查询了下发现可以实现实体类的链式编程. public class Us ...

  8. coding如何绑定二次验证码_虚拟MFA_两步验证_身份验证?

    Coding.net 是一个面向开发者的云端开发平台,提供 Git/SVN 代码托管.任务管理.在线 WebIDE.Cloud Studio.开发协作.文件管理.Wiki 管理.提供个人服务及企业管理 ...

  9. 分布式锁(2) ----- 基于redis的分布式锁

    分布式锁系列文章 分布式锁(1) ----- 介绍和基于数据库的分布式锁 分布式锁(2) ----- 基于redis的分布式锁 分布式锁(3) ----- 基于zookeeper的分布式锁 代码:ht ...

  10. js获得url地址携带参数

    function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...