今天,我们来学习使用selenium实现CSDN自动签到,开始学习吧!
1. 登录
登录就不多说了,在我的Python番外篇:使用selenium自动登录CSDN文章中。
2.自动签到
2.1 签到按钮HTML源码
首先,我们访问签到页面,找到签到按钮的HTML源码:
未签到时:
可以看到,未签到时按钮时一个class属性为handle_box to_sign的div标签。
已经签到时:
已经签到时按钮是一个class属性为handle_box has_sign标签。
2.2 编写代码
from selenium.webdriver import Firefox
from time import sleep
def csdn_login(driver, username, password):
# 省去登录代码 可以去复制我的那篇文章
# 把executable_path你电脑里的浏览器驱动
driver = Firefox(executable_path="geckodriver.exe")
# 登录
csdn_login(driver, "你的用户名", "你的密码")
# 等待3秒 为了等服务器上传登录信息
sleep(3)
# 访问签到页面
driver.get("https://i.csdn.net/#/user-center/draw/")
# 如果存在未签到的div按钮
try:
div = driver.find_element_by_xpath("//div[@class='handle_box to_sign']")
except NoSuchElementException:
# 则打印已经签到了
print("已经签到了!")
else:
# 否则点击div按钮
div.click()
print("签到完成!")
# 关闭页面
driver.close()
运行代码,就可以实现自动签到了!
今天的课程就到这儿了,感兴趣的可以收藏点赞,感谢你们哦!