Python+Selenium+Webdriver实现自动执行微软奖励积分脚本
作者:白马百度 发布时间:2022-09-13 13:49:07
标签:Python,Selenium,Webdriver
脚本运行环境
python 3.6+edge浏览器(推荐使用,因为在edge浏览器中可以获得额外12分,当然chrome浏览器也可以)
webdriver (需匹配电脑安装的浏览器版本)
selenium 4.8.0
首次运行
首次运行需要先获取账号信息,由于这里使用webdriver,打开类似无痕浏览器,需要通过带cookie的方式登录微软账号
from selenium import webdriver
import time
import json
# 填写webdriver的保存目录
driver = webdriver.Edge('/Users/XXXX/Downloads/edgedriver_mac64/msedgedriver')
# 记得写完整的url 包括http和https
driver.get('https://cn.bing.com/')
# 程序打开网页后60秒内 “手动登陆账户”
time.sleep(60)
with open('cookies.txt','w') as f:
# 将cookies保存为json格式
f.write(json.dumps(driver.get_cookies()))
driver.close()
先执行该脚本,然后在弹出的浏览器窗口手动登录微软账号,这里设置的是等待60秒,如果密码比较长的可以修改一下,登录完成后等待窗口自动关闭,这里会保存你的cookie信息到你当前路径
PS:我这边测试过cookie有效时间较长,如果提示登录过期后需要再执行一次
执行脚本开始刷奖励积分
import json
import random
from selenium import webdriver
from selenium.webdriver.edge.options import Options
import time
def OpenUrl(url):
# 访问网址
driver.get(url)
with open('cookies.txt', 'r') as f: #由于webdriver启动时类似无痕模式,使用带cookie的方式登录微软账号
cookies_list = json.load(f)
for cookie in cookies_list:
if isinstance(cookie.get('expiry'), float):
cookie['expiry'] = int(cookie['expiry'])
driver.add_cookie(cookie)
def run_pc():
OpenUrl('https://cn.bing.com/search?q='+str(random_number))
if __name__ == "__main__":
options = Options()
# options.add_argument("--headless") #设置后台运行,无窗口化
# mobile_emulation = {'deviceName': 'iPhone 6'} #添加移动端
# options.add_experimental_option("mobileEmulation", mobile_emulation) #使用移动端模拟器打开
driver = webdriver.Edge('/Users/XXXX/Downloads/edgedriver_mac64/msedgedriver', options=options)
for i in range(30): #每次搜索获取3积分,根据个人等级调整循环次数
random_number = random.randint(1, 100)
run_pc()
print('第', i + 1, '次完成')
time.sleep(2)
driver.quit()
print('任务完成')
如果觉得窗口化占用资源过多的话可以使用无窗口化,获取移动端积分可以把23、24行注释掉
来源:https://segmentfault.com/a/1190000043418861
0
投稿
猜你喜欢
- 今天我去隽辰的博客去看他的文章,在读完他的文章之后,我很自然的就去读网友们给他留的评论,在读的时候我发现他的评论是顺序的,也就是最早的评论在
- 如何在线删除表或索引? <%Set conn1 = Server.CreateObject(&
- 本文实例讲述了Python实现删除列表中满足一定条件的元素。分享给大家供大家参考,具体如下:从列表中删除满足一定条件的元素。如:删除一个列表
- 春节休息了几天,今天上班第一天,最近混twitter混得比较多,经常要压缩URL,以前做了个书签用http://is.gd/压缩,后来发现了
- 本文实例讲述了Django实现图片文字同时提交的方法。分享给大家供大家参考。具体分析如下:jQuery为我们网站开发解决了很多问题,使我们的
- 本文实例讲述了CentOS环境下安装Redis3.0及phpredis扩展测试。分享给大家供大家参考,具体如下:线上的统一聊天及推送系统re
- 如何在生产上部署Django?Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。uwsgi介绍uW
- 原来工作中曾经碰到过UL列表里一些异常的表现,加上昨天看到了http://bbs.blueidea.com/thread-2984871-1
- 名称空间名称空间(namespaces):用于存放名字与内存地址绑定关系的地方,是对栈区的划分作用:名称空间可以使栈区中存放相同的名字,从而
- 由于连续的字符(字母、符号、数字)在默认情况下是不换行的,可能会破坏整个界面布局。那如何解决这个问题呢?在 IE 和 Safari 1.3+
- 本文实例讲述了Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息。分享给大家供大家参考,具体如下:import timefro
- 翻译:ShiningRay简介你是否知道JavaScript其实也是一个函数式编程语言呢?本指南将教你如何利用JavaScript的函数式特
- smtp指令书接上文邮件实现详解,这里我们及我们简单复习一下smtp的指令如下:telnet smtp.163.com 25[outpout
- PHP PDO 事务与自动提交现在通过 PDO 连接上了,在开始进行查询前,必须先理解 PDO 是如何管理事务的。事务支持四大特性(ACID
- 背景在爬取网站数据时,我们通常会遇到一些动态渲染页面的网站。传统的静态网站我们可以直接通过 requests.get() 函数获取页面源代码
- Online人们搜索、浏览、阅读、跟帖、互动投票,玩游戏,甚至在线买卖交易。这些行为都是“用户体验”,听起来用户体验似乎无所不能,造成了互联
- MySql5.0以后均支持存储过程,最近有空,研究了一下这个格式:CREATE PROCEDURE 过程名 ([过程参数[,...]])[特
- 由于新版站长资讯即将发布,我每天都在想如何防止采集,目前想到的几种办法:1、多做几个列表和内容模板,随机使用,对目前大多数cms来说,这种方
- 本文实例讲述了PHP实现的AES双向加密解密功能。分享给大家供大家参考,具体如下:<?php/* * Created on 2018-
- 今晚开放ecmall商城的QQ登陆功能,在回调时产生错误,file_get_contents函数执行时,没有抓取到正确的信息,于是改用cur