hj170520 发表于 2020-5-4 13:56

利用selenium包来实现疫情期间的“学校签到”

本帖最后由 hj170520 于 2020-5-11 16:29 编辑

勿喷!新手做python。没基础,就知道把别人的代码拿出来翻新。
借鉴的教程https://www.52pojie.cn/thread-1107649-1-1.html 然后花了一个小时搞出来的。
{:301_999:}
学校要求进行每日“体温”提交,基本都是手动签到,多了很多程序。
现在想“偷懒”一下,写个程序,水平有限。


学校的签到网站:********************
太low了,连密码都不需要输入。不过这是我到后台查源代码发现的,“嘻嘻”。

我说实话,咱也不敢把自己的学号贡献出来,万一你们拿去改我们提交的数据,咱人就没了呀。
代码只是提供参考,不要搜我们学校的学号然后搞事情{:301_997:}。


接下来我准备做有关于调用cvs文件来做循环操作,帮全班签到去!!{:301_1009:}


下面是源代码:需要selenium包以及chromedriver组件(俺具体也不知道,就依葫芦画瓢。)
#!/usr/bin/python
# -*- coding: utf-8 -*-
from selenium import webdriver
import selenium.webdriver.support.ui as ui

url = "********************"
ID = input('你的学号:')

print("你的学号是:" + ID)
print("正在加载...")

driver = webdriver.Chrome()

driver.get(url + ID)

wait = ui.WebDriverWait(driver,10)
wait.until(lambda driver: driver.find_element_by_xpath("/html/body/uni-app/uni-modal/div/div/div"))
driver.find_element_by_xpath("/html/body/uni-app/uni-modal/div/div/div").click()
print("正在签到...")
wait = ui.WebDriverWait(driver,10)
wait.until(lambda driver: driver.find_element_by_xpath("/html/body/uni-app/uni-page/uni-page-wrapper/uni-page-body/uni-view/uni-view/uni-view/uni-form/span/uni-view/uni-button"))
driver.find_element_by_xpath("/html/body/uni-app/uni-page/uni-page-wrapper/uni-page-body/uni-view/uni-view/uni-view/uni-form/span/uni-view/uni-button").click()
print("签到完成...")
wait = ui.WebDriverWait(driver,10)
wait.until(lambda driver: driver.find_element_by_xpath("/html/body/uni-app/uni-modal/div/div/div"))

driver.quit()

lovnie 发表于 2020-5-4 14:18

hj170520 发表于 2020-5-4 14:05
还有大哥,我这个代码怎么显示成黑底白字呀!像你的贴子那么“精美”

代码放到编辑器有个代码里

zysanjing1 发表于 2020-5-4 14:23

本帖最后由 zysanjing1 于 2020-5-18 20:54 编辑

#!/usr/bin/python
# -*- coding: utf-8 -*-
from selenium import webdriver
import selenium.webdriver.support.ui as ui

url = "http://*.*.*.*/?PersonID="
ID = input('你的学号:')

print("你的学号是:" + ID)
print("正在加载...")

driver = webdriver.Chrome()

driver.get(url + ID)

wait = ui.WebDriverWait(driver,10)
wait.until(lambda driver: driver.find_element_by_xpath("/html/body/uni-app/uni-modal/div/div/div"))
driver.find_element_by_xpath("/html/body/uni-app/uni-modal/div/div/div").click()
print("正在签到...")
wait = ui.WebDriverWait(driver,10)
wait.until(lambda driver: driver.find_element_by_xpath("/html/body/uni-app/uni-page/uni-page-wrapper/uni-page-body/uni-view/uni-view/uni-view/uni-form/span/uni-view/uni-button"))
driver.find_element_by_xpath("/html/body/uni-app/uni-page/uni-page-wrapper/uni-page-body/uni-view/uni-view/uni-view/uni-form/span/uni-view/uni-button").click()
print("签到完成...")
wait = ui.WebDriverWait(driver,10)
wait.until(lambda driver: driver.find_element_by_xpath("/html/body/uni-app/uni-modal/div/div/div"))

driver.quit()

这样舒服多了

hj170520 发表于 2020-5-4 13:57

我吐了,我这个代码咋和别人的现实不一样呢????

羊毛丶 发表于 2020-5-4 14:03

话说这样的话requests post更方便吗

hj170520 发表于 2020-5-4 14:04

羊毛丶 发表于 2020-5-4 14:03
话说这样的话requests post更方便吗

大哥能教一下吗?我真的是太菜了。
我也知道我这个方法弱鸡了,但我也是初学者。能简单示范一下吗?

hj170520 发表于 2020-5-4 14:05

羊毛丶 发表于 2020-5-4 14:03
话说这样的话requests post更方便吗

还有大哥,我这个代码怎么显示成黑底白字呀!像你的贴子那么“精美”

羊毛丶 发表于 2020-5-4 14:19

高级模式里面工具栏

hj170520 发表于 2020-5-4 14:27

感谢楼上的各位,厉害了。

余佳卓 发表于 2020-5-4 14:40

lovnie 发表于 2020-5-4 14:18
代码放到编辑器有个代码里

你这签名看的我一愣一愣的
页: [1] 2
查看完整版本: 利用selenium包来实现疫情期间的“学校签到”