有些网站设计包含积分模块,积分可以兑换一些东西,其中最常见的就是登录签到,但每次打开电脑都要点击鼠标,打开浏览器,打开对应网址,点击签到按钮,这一系列的步骤很是重复繁琐,那么我们可以通过python的第三方undetected_chromedriver库来模拟浏览器点击,实现自动化签到,在配合windows或者linux开机自启动的功能就就能实现自动签到了。
首先是分析登录页面,第一步进入页面就会有一个弹窗,我们可以查看这两个按钮的html代码,二选一,待会代码模拟点击登录领更多按钮。
登录页面使用用户名和密码形式登陆,无需验证码,这就很方便了。
可以定位对应元素查看对应代码。
https://www.mkzhan.com/user/task/
安装依赖
# undetected-chromedriver 还防chrome验证,很香。
pip install undetected-chromedriver
import undetected_chromedriver.v2 as uc
from selenium.webdriver.remote.webdriver import By
import time
def signIn():
try:
user = "xxxx"
password= "xxxx"
driver = uc.Chrome()
driver.get('https://www.mkzhan.com/login')
driver.find_element(By.XPATH,'//div[@class="login-btn"]').click()
driver.find_element(By.XPATH,'//div[@class="form-item"][1]//input').send_keys(user)
driver.find_element(By.XPATH,'//div[@class="form-item"][2]//input').send_keys(password)
driver.find_element(By.XPATH,'//div[@class="form-item"][3]').click()
time.sleep(2)
driver.get("https://www.mkzhan.com/user/task/")
time.sleep(4)
driver.find_element(By.XPATH,'//div[@id="j-sign-btn"]').click()
time.sleep(4)
driver.close()
driver.quit()
except Exception as ex:
print(f'error: {ex}')
time.sleep(4)
driver.close()
driver.quit()
if __name__ == "__main__":
signIn()
过程是全自动的,不方便搞动态图,就放个结果图吧。
这里简单展示windows和linux系统各一种方式,还有很多其他的方式,后面会单独写一篇文章进行介绍。
快捷键打开快捷运行窗口
win + r
打开本地策略组编辑器
gpedit.msc
本地策略组添加bat
python 1.py
chmod +x /etc/rc.d/rc.local
vim /etc/rc.d/rc.local
chmod +x /home/1.sh
rc.local 添加要执行的脚本
sh /home/1.sh
主要学习实现的思路,应用场景还是挺多的,比如:根据模拟浏览器点击还可以实现登录窗口爆破的需求,在网安也是常见的,还是很香的。微信公众号搜索关注艺说IT学习更多内容,对你有用的话请一键三连,感谢。