wordpress拨号,泰安搜索引擎优化招聘,上海企业网站建设公司,wordpress主题 微博众所周知#xff0c;人的懒惰是技术发展的一大动力。现在正处疫情期间#xff0c;因为我总是忘记及时健康打卡而导致被年级群通报#xff0c;故干脆写了个Python脚本来自动打卡。若之后我的身体状态、所在地等信息都没有改变的话#xff0c;这个脚本就能帮我完成一个小任务…众所周知人的懒惰是技术发展的一大动力。现在正处疫情期间因为我总是忘记及时健康打卡而导致被年级群通报故干脆写了个Python脚本来自动打卡。若之后我的身体状态、所在地等信息都没有改变的话这个脚本就能帮我完成一个小任务嘞。代码部分代码整体并不难。通过使用Selenium库能够将一切网页端的操作模拟成一个真正的用户在操作。Selenium安装库本身并不难安装只需要运行以下指令即可pip install seleniumChromeDriver的版本号要与本机安装的Chrome浏览器的版本相同。打开Chrome可以通过点击右上角的菜单按钮(即三个竖直排列的.)然后选择帮助 关于 Google Chrome即可看到浏览器的版本号按照Chrome的版本下载ChromeDriver然后还需要将其安装到Python环境中。打开命令行界面通过where python查询Python环境位置将下载好的chromedriver.exe复制到Scripts文件夹中。之后在命令行界面中通过chromedriver命令可查看ChromeDriver是否正常安装。若正常则会出现如下类似输出Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987{#882}) on port ****Only local connections are allowed.Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.签到部分Selenium的一个好处是所有的操作都是直接运行再浏览器中和真正的用户操作是一样的。因此就不需要设置伪装头文件了。浏览器模拟# 这部分用来设置运行时不显示浏览器窗口chrome_options Options()chrome_options.add_argument(--headless)# 模拟浏览器进行访问browser webdriver.Chrome(optionschrome_options)browser.get(https://jksb.v.zzu.edu.cn/vls6sss/zzujksb.dll/first0)进行签到# 通过find_element_by_xpath来定位用户名和密码的输入框browser.find_element_by_xpath(//*[idmt_5]/div[1]/div[3]/input).send_keys(uid)browser.find_element_by_xpath(//*[idmt_5]/div[2]/div[3]/input).send_keys(pwd)为了防止加载不完全的错误可以设置time.sleep(2)来阻塞两秒等待加载。通过以下代码可以获取到签到完成后的提示信息用作之后的通知邮件的内容final_text browser.find_element_by_xpath(//*[idbak_0]/div[2]/div[2]/div[2]/div[2]).text邮件通知签到后会通过邮件来告知我是否成功。这里我用的是QQ邮箱def mail(mail_text, mail_to):# 设置邮件内容用的是之前签到返回的提示信息msg MIMEText(mail_text)# 设置邮件主题、发送方和接收方msg[Subject] 每日健康打卡通知msg[From] MAIL_USERmsg[To] mail_to# 发送邮件send smtplib.SMTP_SSL(smtp.qq.com, 465)send.login(MAIL_USER, MAIL_PWD)send.send_message(msg)# 退出邮件send.quit()私人信息因这部分牵涉到了个人信息我单独建了一个private_info.py来存储并没有公开故用户在使用时需要自行创建。内容如下MAIL_USER your-noticeemail.address # 用于发送通知的邮箱MAIL_PWD your-authorization-code # 该邮箱的授权码# 单用户UID your-id # 学号PWD your-password # 密码MAIL_TO your-email # 接受通知的邮箱# 多用户users list()users.append(User(your-id, your-password, your-email))其中多用户添加账户信息时使用的是自定义类User()代码如下class User:uid pwd email def __init__(self, uid, pwd, email):self.uid uidself.pwd pwdself.email email完整代码放在了Github上如果读者有兴趣不妨试一试。任务定时我看了几个Python实现的定时运行方法感觉都不是很好。在尝试了几种后最终选择了使用Win10自带的“任务计划程序”。单击右侧“创建基本任务”输入名称、描述后单击下一步选择“每天”开始时间我设置在了“06:00”。之后选择“启动程序”继续下一步。接下来会到“启动程序界面”在“程序或脚本”处选择自己的python环境所在位置然后在“添加参数处”输入auto_sign.py的路径如图所示继续“下一步”后单击“完成”即可。