[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. 基于场景的开放是1+N网络迈向自动驾驶的必经之路

    来源:智驾最前沿 2020年,5G网络建设开始驶入快车道.同年第十一届全球移动宽带论坛上,华为提出了 "1+N" 5G目标网.开启5G 未来黄金十年之路,需要全频谱走向 5G,构筑 ...

  2. Android:获取4G模块卡运营商、网络类型、数据连接状态和信号格数

    代码 import android.annotation.SuppressLint; import android.content.Context; import android.os.Bundle; ...

  3. android局域网聊天毕业设计,Android基于wifi模块的局域网聊天以及文件传输app

    [实例简介] 一款基于wifi模块的局域网实时聊天以及文件互传的安卓app,能实现热点创建,热点连接,文件传输,实时通讯等功能. [实例截图] [核心代码] MyFeiGe2.0 └── MyFeiG ...

  4. 基于python 3 的selenium模块实现网页自动登陆

    本文主要是运用selenium模块模拟登陆新浪微博 python webdriver环境搭建教程:http://blog.csdn.net/nanjunxiao/article/details/795 ...

  5. 预见自动化测试 | 基于 SELENIUM 的自动化测试架构

    基于 SELENIUM 的自动化测试架构 非常感谢各位查阅本篇文章,笔者在此感谢各位. 目前市面上有分门别类的自动化测试工具,这篇文章将讨论开源自动化测试工具 Selenium的使用,以及围绕该工具进 ...

  6. 基于SSM框架+安卓平台实现培训机构管理系统【附项目源码】分享

    基于SSM框架+安卓平台实现培训机构管理系统演示 简介 培训机构管理是一项繁琐而重要的任务.为了更好地管理机构和提高教学质量,许多培训机构开始寻找一种高效的方法来管理它们的课程.学生和教师.基于SSM ...

  7. 基于python的界面自动化测试-基于Selenium+Python的web自动化测试框架

    一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...

  8. python3.7界面设计_基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架

    前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行 ...

  9. Android应用---基于NDK的samples例程hello-jni学习NDK开发

    Android应用---基于NDK的samples例程hello-jni学习NDK开发 NDK下载地址:http://developer.android.com/tools/sdk/ndk/index ...

  10. java二次开发浏览器内核_深入理解基于Selenium的二次开发

    对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是 为了易于维护,很多人可能不懂得维护的价值是什么,和到底 ...

最新文章

  1. Enterprise Library 2.0 Hands On Lab 翻译(12):安全应用程序块(一)
  2. python 几种不同的格式化输出
  3. 【Linux 报错】com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The las
  4. ITK:KMeans聚类
  5. C#计算两个时间的差
  6. Leetcode题库 136.只出现一次的数字(异或 C实现)
  7. ACM-ICPC 2018 徐州赛区网络预赛 D. Easy Math
  8. Objective-C利用协议实现回调函数(类似java的回调函数)
  9. linux 离线安装中文字库,centos7 离线安装字体fontconfig
  10. 矩阵乘法实现卷积运算
  11. solidworks经典实例网盘下载_三菱 PLC FX3U 程序无线下载经典实例
  12. 计算机常用压缩软件有哪些,电脑压缩软件哪个好推荐
  13. mosefet驱动电路设计详解
  14. 锂电池保护板测试软件,锂电池保护板测试仪
  15. 工业控制网络通信协议概览 2020年7月27日
  16. springboot医疗管理系统 毕业设计-附源码015221
  17. 云系统服务器收费,云服务器收费标准
  18. 地球投影的分类和实例
  19. vba 字符串换行的几种方法
  20. 怎么查看自己匿名在百度知道提问的问题?

热门文章

  1. NfcA/NfcB/NfcF/NfcV/IsoDep/Ndef/Mifare/Felica/Pboc/ISOxxxx 都是些什么鸟玩意?
  2. j计算机集成维护工具,USBOS v2.1电脑超级维护工具启动盘(集成最全winPE)
  3. Linux 磁盘分区及LVM实战演练
  4. 富友支付富掌柜智能收银系统是怎样的一套系统
  5. Java *1.13(代数:求解2 × 2线性方程组)可以使用Cramer法则解下面的2 x 2线性方程组,假定ad-bc不为0:
  6. pon移动家庭网关有虚拟服务器吗,电信、移动、联通家庭网关对比分析
  7. 使用微PE安装Windows系统——写给小白
  8. GPU图形加速型云服务器是什么?
  9. 跨境ERP服务商紧随“借卖网”遭黑客攻击,猖獗犯罪下如何自保?
  10. python去除停用词_python jieba分词如何去除停用词