admin管理员组

文章数量:1566353

文章目录

  • 一、忘记签到的烦恼
  • 二、功能流程分析
  • 三、代码实现书写
    • 1. 单刀直入的代码
    • 2. 暗度陈仓的代码
  • 四、自动定时启动
    • 1. 生成bat文件
    • 2. 设置自动定时启动
  • 五、复盘总结


一、忘记签到的烦恼

你是否有跟我一样的烦恼,网站有签到活动,但是却总是经常忘记去签到。

比如说我喜欢每天在爱奇艺上看电视剧,身为铁杆会员的我还要每天在上面进行签到获得积分。

特别是如果你需要每日签到的网站一多,时常忘记倒不说,就算你记在一个显眼的地方告诉自己每天要到哪些网站去签到,也很麻烦啊,毕竟还要一个一个登录进去签到。
那有没有什么办法能够让计算机在我们没用电脑的时候自动登录网站帮我们完成签到工作呢?

Of course!

利用python+selenium就能够实现快速登录网站,且再不用担心找不到账号密码的麻烦出现。

那进一步来说,我们是不是可以利用selenium的自动化运维功能,实现每日帮我自动完成网站的签到工作呢?

二、功能流程分析

Let’s go!

我们人工完成一系列签到的流程,看看我们都需要经历些什么。

第一步:输入目标网址

浏览器中输入https://www.iqiyi/u/point,我们进入到登录页面

第二步:切换至账号密码登录模式

由于我们之后要实现程序自动登录并签到,所以我们要选择账号密码登录模式,使用输入账号密码的方式进行登录。

第三步:输入账号密码

直接输入我们的账号密码,然后登录。

第四步:点击完成签到

登录之后,我们就直接进入了个人中心页面,点击如图所示中 [签到] 按钮,即可完成签到。

整个流程看起来非常简单,总共只需要四步:

  1. 输入目标网址
  2. 切换账号密码登录方式
  3. 输入账号密码登录
  4. 点击 [签到] 按钮

只要网站没有反爬虫机制,基本上代码上的事情都很简单。下面我们就正式书写代码。

三、代码实现书写

1. 单刀直入的代码

首先模拟人工签到的流程方式,寻找相应的HTML代码,从而实现整个签到流程。

from selenium import webdriver    
from selenium.webdriver import ChromeOptions 
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time

# 添加参数,使得window.navigator.webdriver返回undefined,避免被浏览器检测
option = ChromeOptions()
option.add_experimental_option('excludeSwitches',['enable-automation'])
driver= webdriver.Chrome(options=option)

# 第一步:登录目标网址
driver.get('https://www.iqiyi/u/point')     # 启动浏览器并登录签到页面

driver.maximize_window()          # 最大化窗口

# 第二步:切换账号密码登录方式
driver.find_element_by_xpath("//a[text()='账号密码登录']").click()         # 切换账号密码登录模式
time.sleep(2)          # 停留足够的时间,让浏览器加载完全

# 第三步:输入账号和密码
driver.find_element_by_css_selector(".tip-container.tip-account-container .txt-info.txt-account").send_keys('***********')   # 输入账号
driver.find_element_by_css_selector(".txt-info.txt-password").send_keys('******')          # 输入密码
driver.find_element_by_css_selector(".txt-info.txt-password").send_keys(Keys.ENTER)        # 回车登录

time.sleep(

本文标签: 网站不用愁担心密码程序