Python+Selenium+Webdriver实现自动执行微软奖励积分脚本

脚本运行环境

python 3.6+edge浏览器(推荐使用,因为在edge浏览器中可以获得额外12分,当然chrome浏览器也可以)

webdriver (需匹配电脑安装的浏览器版本)

selenium 4.8.0

首次运行

首次运行需要先获取账号信息,由于这里使用webdriver,打开类似无痕浏览器,需要通过带cookie的方式登录微软账号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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有效时间较长,如果提示登录过期后需要再执行一次

执行脚本开始刷奖励积分

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

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行注释掉

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值