江门android培训,基于selenium模块的江门市干部培训网络学院自动选课脚本
[Python] 纯文本查看 复制代码# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
import time
import re
import random
from time import sleep
driver = webdriver.Chrome(executable_path="chromedriver.exe")
def login(username,passwd):
nickName=driver.find_element_by_id('nickName')
sourcePassword=driver.find_element_by_id('sourcePassword')
login_btn=driver.find_element_by_id('login_btn')
nickName.send_keys(username)
sourcePassword.send_keys(passwd)
time.sleep(10)
login_btn.click()
time.sleep(random.uniform(2,5))
try:
driver.find_element_by_class_name("layui-layer-btn0").click()
except:
print('是否登录成功,若没成功登陆,请重新运行')
def course_need_Add(course_need_add):
course_need_add.click()
time.sleep(random.uniform(2,3))
course_need_add = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[1]/div[1]/div[5]/a') # 详情页的选课
course_need_add.click()
time.sleep(random.uniform(1,3))
driver.find_element_by_xpath('/html/body/div[6]/div[3]/a[1]').click()
time.sleep(random.uniform(1,3))
driver.find_element_by_xpath('/html/body/div[7]/div[3]/a').click()
driver.back()
return print('选课成功')
base_url = "https://gbpx.jiangmen.cn/"
username=input("请输入账号:")
passwd= input("请输入密码:")
print('请在浏览器网页登录界面账号密码自动填充后15秒内输入验证码')
driver.get(base_url)
driver.implicitly_wait(10)
now_window = driver.current_window_handle
login(username,passwd)
driver.implicitly_wait(15)
driver.find_element_by_id('navLesson').click()#进入课程中心
driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[3]/div/div[2]/div[2]/div/div/a[6]').click()#点击尾页
time.sleep(3)
pageTotal=driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[3]/div/div[2]/div[2]/div/div/a[6]').text#获取总页数
print ("总共有"+pageTotal+"页课程")
pageTotal=int(pageTotal)
page_start=input("请输入开始选课的页数(纯数字):")
page_end=input("请输入开始选课的页数(纯数字,不得大于总页数):")
for page in range(page_start,page_end):
number = driver.find_element_by_xpath('//*[@class="layui-input"]')
number.clear()
number.send_keys(page)
driver.find_element_by_xpath('//*[@class="layui-laypage-btn"]').click()
driver.implicitly_wait(10)
print ("第"+str(page)+"页")
for i in range(1,11):#对单个列表内单个课程信息进行判断是否需要继续学习。
xpath='/html/body/div[3]/div[2]/div[3]/div/div[2]/table/tbody/tr[{}]/td[5]/a'
couse_name='/html/body/div[3]/div[2]/div[3]/div/div[2]/table/tbody/tr[{}]/td[1]/a'
couse_name=couse_name.format(i)
xpath=xpath.format(i)
print(xpath)
time.sleep(random.uniform(1,3))
course_need_add = driver.find_element_by_xpath(xpath)
couse_name = driver.find_element_by_xpath(couse_name).text
print(course_need_add.text,couse_name)
if course_need_add.text == '已选':
i = i + 1
else:
course_need_Add(course_need_add)
time.sleep(random.uniform(1,3))
number = driver.find_element_by_xpath('//*[@class="layui-input"]')
number.clear()
number.send_keys(page)
driver.find_element_by_xpath('//*[@class="layui-laypage-btn"]').click()
time.sleep(5)
print("第" + str(page) + "页")
江门android培训,基于selenium模块的江门市干部培训网络学院自动选课脚本相关推荐
- 基于场景的开放是1+N网络迈向自动驾驶的必经之路
来源:智驾最前沿 2020年,5G网络建设开始驶入快车道.同年第十一届全球移动宽带论坛上,华为提出了 "1+N" 5G目标网.开启5G 未来黄金十年之路,需要全频谱走向 5G,构筑 ...
- Android:获取4G模块卡运营商、网络类型、数据连接状态和信号格数
代码 import android.annotation.SuppressLint; import android.content.Context; import android.os.Bundle; ...
- android局域网聊天毕业设计,Android基于wifi模块的局域网聊天以及文件传输app
[实例简介] 一款基于wifi模块的局域网实时聊天以及文件互传的安卓app,能实现热点创建,热点连接,文件传输,实时通讯等功能. [实例截图] [核心代码] MyFeiGe2.0 └── MyFeiG ...
- 基于python 3 的selenium模块实现网页自动登陆
本文主要是运用selenium模块模拟登陆新浪微博 python webdriver环境搭建教程:http://blog.csdn.net/nanjunxiao/article/details/795 ...
- 预见自动化测试 | 基于 SELENIUM 的自动化测试架构
基于 SELENIUM 的自动化测试架构 非常感谢各位查阅本篇文章,笔者在此感谢各位. 目前市面上有分门别类的自动化测试工具,这篇文章将讨论开源自动化测试工具 Selenium的使用,以及围绕该工具进 ...
- 基于SSM框架+安卓平台实现培训机构管理系统【附项目源码】分享
基于SSM框架+安卓平台实现培训机构管理系统演示 简介 培训机构管理是一项繁琐而重要的任务.为了更好地管理机构和提高教学质量,许多培训机构开始寻找一种高效的方法来管理它们的课程.学生和教师.基于SSM ...
- 基于python的界面自动化测试-基于Selenium+Python的web自动化测试框架
一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...
- python3.7界面设计_基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架
前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行 ...
- Android应用---基于NDK的samples例程hello-jni学习NDK开发
Android应用---基于NDK的samples例程hello-jni学习NDK开发 NDK下载地址:http://developer.android.com/tools/sdk/ndk/index ...
- java二次开发浏览器内核_深入理解基于Selenium的二次开发
对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是 为了易于维护,很多人可能不懂得维护的价值是什么,和到底 ...
最新文章
- Enterprise Library 2.0 Hands On Lab 翻译(12):安全应用程序块(一)
- python 几种不同的格式化输出
- 【Linux 报错】com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The las
- ITK:KMeans聚类
- C#计算两个时间的差
- Leetcode题库 136.只出现一次的数字(异或 C实现)
- ACM-ICPC 2018 徐州赛区网络预赛 D. Easy Math
- Objective-C利用协议实现回调函数(类似java的回调函数)
- linux 离线安装中文字库,centos7 离线安装字体fontconfig
- 矩阵乘法实现卷积运算
- solidworks经典实例网盘下载_三菱 PLC FX3U 程序无线下载经典实例
- 计算机常用压缩软件有哪些,电脑压缩软件哪个好推荐
- mosefet驱动电路设计详解
- 锂电池保护板测试软件,锂电池保护板测试仪
- 工业控制网络通信协议概览 2020年7月27日
- springboot医疗管理系统 毕业设计-附源码015221
- 云系统服务器收费,云服务器收费标准
- 地球投影的分类和实例
- vba 字符串换行的几种方法
- 怎么查看自己匿名在百度知道提问的问题?
热门文章
- NfcA/NfcB/NfcF/NfcV/IsoDep/Ndef/Mifare/Felica/Pboc/ISOxxxx 都是些什么鸟玩意?
- j计算机集成维护工具,USBOS v2.1电脑超级维护工具启动盘(集成最全winPE)
- Linux 磁盘分区及LVM实战演练
- 富友支付富掌柜智能收银系统是怎样的一套系统
- Java *1.13(代数:求解2 × 2线性方程组)可以使用Cramer法则解下面的2 x 2线性方程组,假定ad-bc不为0:
- pon移动家庭网关有虚拟服务器吗,电信、移动、联通家庭网关对比分析
- 使用微PE安装Windows系统——写给小白
- GPU图形加速型云服务器是什么?
- 跨境ERP服务商紧随“借卖网”遭黑客攻击,猖獗犯罪下如何自保?
- python去除停用词_python jieba分词如何去除停用词