chrome自动提交文件_收集文档及提交名单统计

知乎文章若有排版问题请见谅,原文放在个人博客中【欢迎互踩!】

文叔叔文档收集

使用动机

在我们的学习工作中,少不了要让大家集体提交文件的情况,举个最简单的例子:收作业。

传统的文件收集流程大致是:群内发出文件提交通知

每位参与者向负责人单独发送文档
负责人逐一接收汇总
统计文档提交情况。

可能有人会说直接上传到群文件不就好了?但这样的做法会使文档有信息泄漏的风险。 但一款名为文叔叔的应用提供了快速收集文件的功能,大大简化了文件汇总流程。

收集方

作为收集方只需发出邀请、设置截止时间并拷贝邀请链接即可完成一次收集任务的准备工作。

770c17e432ad279808d4d513e1eb7935.png

收集任务创建好后会在收集人账号的收发记录中自己创建关于本次文件收取的任务栏,所有提交的文件都被汇总在该任务中并可批量下载。

9d79a1d8e2eb9d5ff8a2729bdfe35ea0.png

提交方

这款软件的另一大优点就体现在提交方操作的简洁性。接收到链接的用户,无论登陆还是未登录,都可以直接打开传文件的入口。只需上传文件,然后留下姓名方便确认身份,点击发送即可完成任务提交。

930844e2b2f571907a0f17042d021f9b.png

其余详细说明可以参考文叔叔知乎链接。

python统计提交信息

尽管文叔叔提供了十分快捷的文件收集功能,但后续我们还需要手动统计提交情况,但是利用python我们便可以实现实时查询文件提交情况。

a63f906db71774335fd53d700c0731f4.png

这里的实现方式同样使用了selenium库,具体实现原理就不再赘述,直接提供代码并说明如何直接使用。

导入成员

导入成员有两种方式,一种是从excel一次性导入,另一种是手动输入。如果没有编程基础建议采用后者,具体实现方法参照下文name_list实现方法。

# 方法一:excel导入成员信息
import pandas as pd
import numpy as np
name_list = {}
data = pd.read_excel("class_data.xlsx")
data = data.iloc[2:,0]
data = data.to_numpy()
for i in range(len(data)):name_list[str(data[i])] = 0;# 方法二:手动添加成员(修改名字即可,一劳永逸)
name_list = {'杨宇豪':0, '代溟伟':0, '肖卓琦':0, '胡鹏':0, '熊梓旭':0, '李洪波':0, '洛桑次仁':0, '陈戌':0, '薛宸熙':0, '刘金炜':0 }

汇总提交情况

需要修改项:

1. user_info:添加账号登录信息(可添加多个)

2. user:选择登录账户

3. share_link:提供待统计任务的分享链接

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time# 选择登录账户
user = "代溟伟"
# 待统计任务对应分享链接
share_link = "https://wss.pet/s/2575sct1kdj"# 各用户登录信息(账号密码)
user_info = {"杨宇豪":['登录用户名', '登录密码'],"代溟伟":['登录用户名', '登录密码']}
login_number = user_info[user][0]
login_password = user_info[user][1]# 不嫌麻烦可以像这样手动添加成员(一劳永逸)
name_list = {'杨宇豪':0, '代溟伟':0, '肖卓琦':0, '胡鹏':0, '熊梓旭':0, '李洪波':0, '洛桑次仁':0, '陈戌':0, '薛宸熙':0, '刘金炜':0 }chrome_options = Options()
chrome_options.add_argument("--headless")driver = webdriver.Chrome(options=chrome_options)
# driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(5)print("Entering the website...")
url = "https://www.wenshushu.cn/signin"
driver.get(url)
time.sleep(2)print("Inputing login info...")
driver.find_element_by_xpath("//div[@id='page_content']/div/div/div/div/ul/li[2]").click()
driver.find_element_by_xpath("//input[@type='text']").click()
driver.find_element_by_xpath("//input[@type='text']").clear()
driver.find_element_by_xpath("//input[@type='text']").send_keys(login_number)
driver.find_element_by_xpath("//input[@type='password']").click()
driver.find_element_by_xpath("//input[@type='password']").clear()
driver.find_element_by_xpath("//input[@type='password']").send_keys(login_password)
driver.find_element_by_xpath("//div[@id='page_content']/div/div/div/div[2]/div/div/button/span").click()
time.sleep(2)print("Locating to the task...")
url = "https://www.wenshushu.cn/f/" + str(share_link[18:])
driver.get(url)print("Checking submit info...")
time.sleep(3)
page_info = driver.find_elements_by_css_selector("[class='g-upload_user']")
for i in range(len(page_info)):name_list[page_info[i].get_attribute('innerText')] = 1#print(page_info[i].get_attribute('innerText'))print("Writing detailed list...")
print("unsubmit list:n")
for name in name_list.keys():if(name_list[name] == 0):print(name)
print("nsubmit list:n")
for name in name_list.keys():if(name_list[name] == 1):print(name)
driver.close()print("Check Finished!")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

惠普800g1支持什么内存_惠普黑白激光打印机哪种好 惠普黑白激光打印机推荐【图文详解】...

打印机的出现让我们在生活和日常工作中变得越来越方便,不过随着科技的发展,打印机的类型也变得非常多,其中就有黑白激光打印机,而黑白激光打印机的品牌也有很多,比如我们的惠普黑白激光打印机,今天小编就给…

控制台输出颜色控制

控制台输出颜色控制 转自:https://cloud.tencent.com/developer/article/1142372 前端时间,写了一篇 PHP 在 Console 模式下的进度显示 ,正好最近的一个数据合并项目需要用到控制台颜色输出,所以就把相关的信息整理下,…

idea连接跳板机_跳板机服务(jumpserver)

一、跳板机服务作用介绍1、有效管理用户权限信息2、有效记录用户登录情况3、有效记录用户操作行为二、跳板机服务架构原理三、跳板机服务安装过程第一步:安装跳板机依赖软件yum -y install git python-pip mariadb-devel gcc automake autoconf python-devel readl…

【详细图解】再次理解im2col

【详细图解】再次理解im2col 转自:https://mp.weixin.qq.com/s/GPDYKQlIOq6Su0Ta9ipzig 一句话:im2col是将一个[C,H,W]矩阵变成一个[H,W]矩阵的一个方法,其原理是利用了行列式进行等价转换。 为什么要做im2col? 减少调用gemm的次数。 重要…

反思 大班 快乐的机器人_幼儿园大班教案《快乐的桌椅》含反思

大班教案《快乐的桌椅》含反思适用于大班的体育主题教学活动当中,让幼儿提高协调性和灵敏性,创新桌椅的玩法,正确爬的方法,学会匍匐前进,快来看看幼儿园大班《快乐的桌椅》含反思教案吧。幼儿园大班教案《快乐的桌椅》…

DCN可形变卷积实现1:Python实现

DCN可形变卷积实现1:Python实现 我们会先用纯 Python 实现一个 Pytorch 版本的 DCN ,然后实现其 C/CUDA 版本。 本文主要关注 DCN 可形变卷积的代码实现,不会过多的介绍其思想,如有兴趣,请参考论文原文: …

蓝牙耳机声音一顿一顿的_线控耳机党阵地转移成功,OPPO这款TWS耳机体验满分...

“你看到我手机里3.5mm的耳机孔了吗”,这可能是许多线控耳机党最想说的话了。确实,如今手机在做“减法”,而厂商们首先就拿3.5mm耳机孔“开刀”,我们也丧失了半夜边充电边戴耳机打游戏的乐趣。竟然如此,那如何在耳机、…

AI移动端优化之Im2Col+Pack+Sgemm

AI移动端优化之Im2ColPackSgemm 转自:https://blog.csdn.net/just_sort/article/details/108412760 这篇文章是基于NCNN的Sgemm卷积为大家介绍Im2ColPackSgemm的原理以及算法实现,希望对算法优化感兴趣或者做深度学习模型部署的读者带来帮助。 1. 前言 …

elementui的upload组件怎么获取上传的文本流、_抖音feed流直播间引流你还不会玩?实操讲解...

本文由艾奇在线明星优化师写作计划出品在这个全民惊恐多灾多难且带有魔幻的2020,一场突如其来的疫情改变了人们很多消费习惯,同时加速了直播电商的发展,现在直播已经成为商家必争的营销之地,直播虽然很火,但如果没有流…

FFmpeg 视频处理入门教程

FFmpeg 视频处理入门教程 转自:https://www.ruanyifeng.com/blog/2020/01/ffmpeg.html 作者: 阮一峰 日期: 2020年1月14日 FFmpeg 是视频处理最常用的开源软件。 它功能强大,用途广泛,大量用于视频网站和商业软件&…

checkbox wpf 改变框的大小_【论文阅读】倾斜目标范围框(标注)的终极方案

前言最常用的斜框标注方式是在正框的基础上加一个旋转角度θ,其代数表示为(x_c,y_c,w,h,θ),其中(x_c,y_c )表示范围框中心点坐标,(w,h)表示范围框的宽和高[1,2,7]。对于该标注方式,如果将w和h的值互换,再将θ加上或者…

彻底理解BP之手写BP图像分类你也行

彻底理解BP之手写BP图像分类你也行 转自:https://zhuanlan.zhihu.com/p/397963213 第一节:用矩阵的视角,看懂BP的网络图 1.1、什么是BP反向传播算法 BP(Back Propagation)误差反向传播算法,使用反向传播算法的多层感知器又称为B…

梯度下降法和牛顿法计算开根号

梯度下降法和牛顿法计算开根号 本文将介绍如何不调包,只能使用加减乘除法实现对根号x的求解。主要介绍梯度下降和牛顿法者两种方法,并给出 C 实现。 梯度下降法 思路/步骤 转化问题,将 x\sqrt{x}x​ 的求解转化为最小化目标函数&#xff…

汇博工业机器人码垛机怎么写_全自动码垛机器人在企业生产中的地位越来越重要...

全自动码垛机器人在企业生产中的地位越来越重要在智能化的各种全自动生产线中,全自动码垛机器人成了全自动生产线的重要机械设备,在各种生产中发挥着不可忽视的作用。全自动码垛机器人主要用于生产线上的包装过程中,不仅能够提高企业的生产率…

小说中场景的功能_《流浪地球》:从小说到电影

2019年春节贺岁档冒出一匹黑马:国产科幻片《流浪地球》大年初一上映后口碑、票房双丰收:截至9日下午,票房已破15亿,并获得9.2的高评分。著名导演詹姆斯卡梅隆通过社交媒体对我国春节期间上映的科幻影片《流浪地球》发出的祝愿&…

线性回归与逻辑回归及其实现

线性回归与逻辑回归及其实现 回归与分类 预测值定性分析,即离散变量预测时,称之为分类;预测值定量分析,即连续变量预测时,称之为回归。 如预测一张图片是猫还是狗,是分类问题;预测明年的房价…

hbase 页面访问_HBase

HBase 特点 海量存储 Hbase 适合存储 PB 级别的海量数据,在 PB 级别的数据以及采用廉价 PC 存储的情况下,能在几十到百毫秒内返回数据。这与 Hbase 的极易扩展性息息相关。正式因为 Hbase 良好的扩展性,才为海量数据的存储提供了便利。 2&…

深入理解L1、L2正则化

深入理解L1、L2正则化 转自:【面试看这篇就够了】L1、L2正则化理解 一、概述 正则化(Regularization)是机器学习中一种常用的技术,其主要目的是控制模型复杂度,减小过拟合。正则化技术已经成为模型训练中的常用技术&a…

机器学习中的概率模型

机器学习中的概率模型 转自:https://zhuanlan.zhihu.com/p/164551678 机器学习中的概率模型 概率论,包括它的延伸-信息论,以及随机过程,在机器学习中有重要的作用。它们被广泛用于建立预测函数,目标函数,以…

max std value 宏_Rust Macro/宏 新手指南

Rust语言最强大的一个特点就是可以创建和利用宏/Macro。不过创建 Rust宏看起来挺复杂,常常令刚接触Rust的开发者心生畏惧。这片文章 的目的就是帮助你理解Rust Macro的基本运作原理,学习如何创建自己的 Rust宏。相关链接:在线学编程 - 汇智网…