logo资料库

python selenium实现简单网页测试流程-健康打卡.pdf

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
python selenium实现简单网页测试流程 实现简单网页测试流程-健康打卡 健康打卡 # clock_in 介绍 吉林大学自动健康打卡 软件架构 selenium – chromedriver 【调用chrmoe】 酷Q Air – CQHTTP 【调用QQ发送消息】 开发思路 用selenium完成测试,获取网页中“已完成项目”数据,通过酷Q发送给接收用户QQ,在服务器上创建计划最佳 安装教程 将chrmoe驱动存放至 chrome根目录下Application文件夹 【C:\Program Files (x86)\Google\Chrome\Application】 新增系统变量 【path C:\Program Files (x86)\Google\Chrome\Application】 解压酷Q 打开CQA.exe 右键酷Q,打开应用管理,启用CQHTTP 安装 selenium 和 requests 使用说明 1.修改个人信息 username = “zhuyu18” # 账号 pwd = “#######” # 密码 recv_qq = “543547055” # 接收反馈的QQ 2.登录酷Q 3.电脑,创建计划,每日固定时间开机并运行脚本【服务器上部署最佳】 ************** 详细步骤 详细步骤 ************** 1.安装安装chromedriver 1.1打开打开chrome浏览器,键入 浏览器,键入 chrome://version ,查询版本 查询版本 1.2下载对应版本驱动 下载对应版本驱动
1.3将驱动置于 将驱动置于chrome根目录下的 根目录下的Application目录下目录下 1.4添加系统变量 添加系统变量
2.安装配置酷 安装配置酷Q 2.1解压安装包 解压安装包 2.2启动酷启动酷Q 2.3应用管理 应用管理
2.4启动启动CQHTTP插件插件 PS:若提示缺少依赖,可能是缺少VC++2017,安装链接 2.5启动启动CQHTTP
2.6酷酷Q官方介绍 官方介绍 3.创建计划 创建计划 3.1 win+R 键入键入compmgmt.msc 打开计算机管理 打开计算机管理 3.2创建创建 clock_in文件夹文件夹 3.3创建计划 创建计划 填入填入clock_in的的filepath
4.修改修改py文件文件 4.1导入导入selenium、、requests 4.2修改个人信息, 修改个人信息,username,pwd,recv_qq 4.3xpath获取,网页 获取,网页F12,用,用div id name select 等标签均可获取 等标签均可获取 5.结果展示 结果展示
6.demo # -*- coding:utf-8 -*- from selenium import webdriver import time import requests # ========================= 信息-需修改 ========================= username = "zhuyu18" # 账号 pwd = "********" # 密码 recv_qq = "543547055" # 接收反馈的QQ # ========================= url-无需修改 ========================= login_url = "https://ehall.jlu.edu.cn/jlu_portal/login" # 登录url remind_url = "https://ehall.jlu.edu.cn/taskcenter/workflow/done" # 登录url # ========================= xpath-无需修改 ========================= uid_xpath = './/input[@name="username"]' # 账号xpath pwd_xpath = './/input[@name="password"]' # 密码xpath button_xpath = './/input[@name="login_submit"]' # 登录按钮xpath stu_xpath = './/a[@href="/jlu_portal/guide?id=83E36211-C52A-4533-913F-F4D42C677D2A"]' # 研究生健康打卡按钮xpath handle_xpath = './/input[@value="我要办理"]' # 我要办理按钮xpath loc_con_xpath = './/div[@id="V1_CTRL119_Container"]' # 所在市容器按钮xpath loc_xpath = './/div[@class="infoplus_suggester_item suggest_selected"]' # 所在市下拉框xpath checkbox_xpath = './/input[@name="fieldCNS"]' # 承诺按钮xpath confirm_xpath = './/a[@class="command_button_content"]' # 确认按钮xpath ok_xpath = './/button[@class="dialog_button default fr"]' # 好按钮xpath # ========================= web驱动-无需修改 ========================= global driver driver = webdriver.Chrome() # 设置Chrome驱动 def web_init(): driver.maximize_window() # 最大化窗口 driver.implicitly_wait(6) # 隐式等待 driver.get(login_url) # 获取网页 def web_close(): driver.quit() # 关闭所有关联的窗口 def auto_login(username_, pwd_, uid_xpath_, pwd_xpath_, button_xpath_): time.sleep(2) # 预留页面加载时间 driver.find_element_by_xpath(uid_xpath_).clear() # 清空已存在内容 driver.find_element_by_xpath(uid_xpath_).send_keys(username_) # 传入用户名 time.sleep(2) # 预留页面加载时间 driver.find_element_by_xpath(pwd_xpath_).clear() # 清空已存在内容 driver.find_element_by_xpath(pwd_xpath_).send_keys(pwd_) # 传入密码 time.sleep(2) # 预留页面加载时间 driver.find_element_by_xpath(button_xpath_).click() # 通过登录按钮并单击登录 def submit(stu_xpath_, handle_xpath_, loc_con_xpath_, loc_xpath_, checkbox_xpath_, confirm_xpath_, ok_xpath_): driver.find_element_by_xpath(stu_xpath_).click() # 研究生健康状况申报 time.sleep(2) # 预留页面加载时间 driver.find_element_by_xpath(handle_xpath_).click() # 我要办理 time.sleep(2) # 预留页面加载时间 driver.switch_to.window(driver.window_handles[1]) # 切换窗口句柄至最新窗口 time.sleep(2) # 预留页面加载时间 # ========================= 该部分代码针对需要手动选择市区的用户,可以选择注释 ========================= driver.find_element_by_xpath(loc_con_xpath_).click() # 定位到复选框容器V1_CTRL119_Container time.sleep(2) # 预留页面加载时间 driver.find_element_by_xpath(loc_xpath_).click() time.sleep(2) # 预留页面加载时间 # ========================= 该部分代码针对需要手动选择市区的用户,可以选择注释 ========================= driver.find_element_by_xpath(checkbox_xpath_).click() # 本人承诺以上填写内容均真实可靠 time.sleep(2) # 预留页面加载时间 driver.find_element_by_xpath(confirm_xpath_).click() # 确认填报 time.sleep(2) # 预留页面加载时间 driver.find_element_by_xpath(ok_xpath_).click() # 好 time.sleep(2) # 预留页面加载时间 def remind(remind_url_, recv_qq_): driver.get(remind_url_) # 获取网页 time.sleep(2) # 预留页面加载时间 row = driver.find_elements_by_tag_name('tr') result_list = [] for i in row: j = i.find_elements_by_tag_name('td')
分享到:
收藏