Python如何实现智慧校园一键评教
小编给大家分享一下Python如何实现智慧校园一键评教,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
一、安装selenium库
问题1:什么是selenium模块?
基于浏览器自动化的一个模块。
问题2:selenium模块有什么作用呢?
便捷地获取网站中动态加载的数据
便捷地实现模拟登录
问题3:环境安装
pipinstallselenium
二、下载一个浏览器的驱动程序(谷歌浏览器)
1.下载路径
http://chromedriver.storage.googleapis.com/index.html
2.驱动程序和浏览器的映射关系(谷歌浏览器)
方法1:[不推荐]
在浏览器地址栏输入:chrome://version/
复制版本号,只取前三节
示例:版本号为90.0.4430.212,只需复制90.0.4430
将复制的数字加到
https://chromedriver.storage.googleapis.com/LATEST_RELEASE_后面
示例:https://chromedriver.storage.googleapis.com/LATEST_RELEASE_90.0.4430
博主尝试了没有成功
方法2:[推荐]
安装webdriver-manager库
pipinstallwebdriver-manager
运行如下代码
importtime
fromseleniumimportwebdriver
fromwebdriver_manager.chromeimportChromeDriverManager
#fromwebdriver_manager.microsoftimportEdgeChromiumDriverManager
options=webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
driver=webdriver.Chrome(ChromeDriverManager().install(),chrome_options=options)
#driver=webdriver.Edge(EdgeChromiumDriverManager().install())
driver.get('https://www.baidu.com/s?wd=123')
driver.close()很简单,省很多事
三、智慧校园评教实现
1.新建python文件导入相关包
fromseleniumimportwebdriver importtime fromlxmlimportetree
2.使用selenium打开登录页面
#实例化一个浏览器对象
bro=webdriver.Chrome(executable_path='./chromedriver')#驱动程序所在路径
#让浏览器发起一个指定url对应请求
bro.get('http://sso.cqcet.edu.cn/login')3.录入用户名密码,点击登录按钮实现登录
#标签定位
username_input=bro.find_element_by_id('username')
password_input=bro.find_element_by_id('password')
#标签交互
username_input.send_keys('**********')#智慧校园账号
password_input.send_keys('**********')#智慧校园密码
#点击登入按钮
btn=bro.find_element_by_class_name('logon-btn')
btn.click()
time.sleep(2)#停顿2s4.进入教学评价系统
#点击学评教管理
bro.get('http://ossc.cqcet.edu.cn/xg/teaching/student/index/teach')
bro.find_element_by_class_name('nav-label').click()
time.sleep(2)
#点击学生评教
bro.get('http://ossc.cqcet.edu.cn/xg/teaching/student/xskb')
#page_source获取浏览器当前页面的页面源码数据
page_text=bro.page_source5.实现评教操作
#解析onclick里面的内容
tree=etree.HTML(page_text)
onclick_list=tree.xpath('//*[@id="bootstrap-table"]/tbody//a/@onclick')
print(onclick_list)
foronclickinonclick_list:
ifonclick[0:15]!="checkEvaluation":
bro.execute_script(onclick)
time.sleep(1)
bro.find_element_by_class_name('layui-layer-btn0').click()
time.sleep(1)
time.sleep(5)
bro.quit()6.完成效果图
四、附录
以下为实现谷歌无头浏览器和反检测代码,供参考
fromseleniumimportwebdriver
fromtimeimportsleep
#实现无可视化界面
fromselenium.webdriver.chrome.optionsimportOptions
#实现规避检测
fromselenium.webdriverimportChromeOptions
#实现无可视化界面的操作
chrome_options=Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
#实现规避检测
option=ChromeOptions()
option.add_experimental_option('excludeSwitches',['enable-automation'])
#如何实现让selenium规避被检测到的风险
bro=webdriver.Chrome(executable_path='./chromedriver',chrome_options=chrome_options,options=option)
#无可视化界面(无头浏览器)phantomJs
bro.get('https://www.baidu.com')
print(bro.page_source)
sleep(2)
bro.quit()看完了这篇文章,相信你对“Python如何实现智慧校园一键评教”有了一定的了解,如果想了解更多相关知识,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!
推荐阅读
-
一文教你Python如何快速精准抓取网页数据
本文将使用requests和beautifulsoup这两个流行的库来实现。1.准备工作首先安装必要的库:pipinst...
-
使用Python实现IP地址和端口状态检测与监控
-
基于Python打造一个智能单词管理神器
-
Python实现微信自动锁定工具
-
使用Python创建一个功能完整的Windows风格计算器程序
python实现windows系统计算器程序(含高级功能)下面我将介绍如何使用python创建一个功能完整的windows风格计...
-
Python开发文字版随机事件游戏的项目实例
随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型。在这类游戏中,玩家必须应对随机发生的情况,这些情况可能会影响他们的资...
-
使用Pandas实现Excel中的数据透视表的项目实践
引言在数据分析中,数据透视表是一种非常强大的工具,它可以帮助我们快速汇总、分析和可视化大量数据。虽然excel提供了内置的数据透...
-
Pandas利用主表更新子表指定列小技巧
一、前言工作的小技巧,利用pandas读取主表和子表,利用主表的指定列,更新子表的指定列。案例:主表:uidname0...
-
Pandas中统计汇总可视化函数plot()的使用
-
Python中tensorflow的argmax()函数的使用小结
在tensorflow中,argmax()函数是一个非常重要的操作,它用于返回给定张量(tensor)沿指定轴的最大值的索引。这个...
