【python】模拟登录并签到

    小白学了python后,天天逛BBS,看着BBS签到,就依葫芦画起瓢来了,试着写了个自动签到的脚本,大神勿喷。首先感谢@大丁锅博主,参照大丁锅Python实现自动签到脚本画了一个。

首先还是下载它selenium,在命令行安装它。

 pip install selenium

   主要是利用谷歌浏览器,这 一步不能省。在运行脚本时需要下载一个chromedriver.exe,下载地址为(注意根据自己的谷歌浏览器的版本来下载):http://npm.taobao.org/mirrors/chromedriver/ 

 网页元素定位请参照@猫与测试博主,按下面这篇文章方法进行定位。感谢 @猫与测试博主。

Python + Selenium(七)网页元素定位(六)Xpath

在测试中注意:

1、网页元素定位很重要,定位错了,就跑不起了。

2、时间延时要把握好。

3、chromedriver.exe版本要下载对。

4、谷哥浏览器禁止升级。

5、仅供学习交流测试。


import time
from selenium import webdriver
# autopep8 --in-place --aggressive --aggressive autopep8.py

# 模拟浏览器打开网站
browser = webdriver.Chrome()
browser.get('https://***.com')//登录地址
# 将窗口最大化
browser.maximize_window()
 
# 根据路径找到按钮,并模拟进行点击
browser.find_element_by_xpath('/html/body/div[6]/div[2]/div/div/form/ul/li[2]/a').click()
# 延时2秒,以便网页加载所有元素,避免之后找不到对应的元素
time.sleep(1)
browser.find_element_by_xpath('/html/body/div[6]/div[2]/div/div/form/div/div[5]/a[1]').click()
# 延时2秒,以便网页加载所有元素,避免之后找不到对应的元素
time.sleep(1)

# 格式是PEP8自动转的、
# 在输入用户名
browser.find_element_by_xpath('/html/body/div[6]/div[2]/div/div/form/div/div[1]/input[2]').send_keys("********")
# 延时1秒,以便网页加载所有元素,避免之后找不到对应的元素
time.sleep(1)

# 在输入密码
browser.find_element_by_xpath('/html/body/div[6]/div[2]/div/div/form/div/div[2]/input').send_keys("*******")
time.sleep(1)

# 在输入用户名和密码之后,点击登陆按钮
browser.find_element_by_xpath('/html/body/div[6]/div[2]/div/div/form/div/button').click()
time.sleep(5)

# 今日领取
browser.find_element_by_xpath('/html/body/div[3]/div/div/div/div[2]/div[2]/div/div').click()
time.sleep(1)
# 今日签到
browser.find_element_by_xpath('/html/body/div[6]/div/div[2]/div[2]/a/span[1]').click()
time.sleep(1)


print("签到成功")
 
# 脚本运行成功,退出浏览器
browser.quit()

脚本运行成功后,没有退出,下次再优化吧。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 requests 库模拟请求微信小程序的登陆并签到。具体步骤如下: 1. 获取小程序的 AppID 和 AppSecret,以及用户的账号和密码。 2. 使用账号和密码向微信服务器发送请求,获取用户的 OpenID 和 SessionKey。 3. 使用 OpenID 和 SessionKey 向小程序服务器发送请求,获取用户的 Token。 4. 使用 Token 向小程序服务器发送请求,完成签到操作。 以下是示例代码: ```python import requests import json # 小程序的 AppID 和 AppSecret APP_ID = 'your_app_id' APP_SECRET = 'your_app_secret' # 用户的账号和密码 USERNAME = 'your_username' PASSWORD = 'your_password' # 请求微信服务器,获取用户的 OpenID 和 SessionKey url = 'https://api.weixin.qq.com/sns/jscode2session' params = { 'appid': APP_ID, 'secret': APP_SECRET, 'js_code': 'your_js_code', 'grant_type': 'authorization_code' } response = requests.get(url, params=params) data = json.loads(response.text) openid = data['openid'] session_key = data['session_key'] # 请求小程序服务器,获取用户的 Token url = 'https://your_mini_program_server.com/api/token' params = { 'openid': openid, 'session_key': session_key } response = requests.get(url, params=params) data = json.loads(response.text) token = data['token'] # 请求小程序服务器,完成签到操作 url = 'https://your_mini_program_server.com/api/checkin' headers = { 'Authorization': 'Bearer ' + token } response = requests.post(url, headers=headers) data = json.loads(response.text) if data['success']: print('签到成功') else: print('签到失败') ``` 注意:以上代码仅为示例,实际使用时需要根据具体情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值