手把手教你如何用selenium实现自动抽奖工具(穿越火线王者夺宝活动为例)

需要的环境:

chromedriver驱动器来驱动chrome, 模拟浏览器行为
python3.x以上的解释器
chromedriver这个到博客上搜索一下,会有详细教程

分析:

穿越火线王者夺宝网址为:https://act.daoju.qq.com/act/a20190228wzdb/index.html
 
登入界面为:
在这里插入图片描述
这个时候,我们就需要使用selenium获取账号密码登入这个元素,然后点击它,切换到账号密码登入界面。
但是: 如果你直接用这个网页上去使用

register_sumbmit = driver.find_element_by_id("switcher_plogin")

来获取输入账号标签是不行的
在这里插入图片描述
即便这个网页Element元素上有这个id, 我们通过Network上search all功能,可以发现
在这里插入图片描述
这个登入界面其实是通过Ajax技术来生成,所以我们的登入界面的url并不是这个,而是xlogin这个对应的Request URL:
在这里插入图片描述
Request url :
https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https://game.qq.com/comm-htdocs/milo/proxy.html&appid=21000501&target=top&s_url=https%3A%2F%2Fact.daoju.qq.com%2Fact%2Fa20190228wzdb%2Findex.html&style=20&daid=8

这个url中很多参数都是可以删除的,真正有用的参数就是s_url,保留这个参数就行。
Request url:
https://xui.ptlogin2.qq.com/cgi-bin/xlogin?&s_url=https%3A%2F%2Fact.daoju.qq.com%2Fact%2Fa20190228wzdb%2Findex.html

下面就可以通过这个url来登入已经抽奖啦:

from selenium import webdriver
import time


def main():
    driver = webdriver.Chrome()
    driver.get("https://xui.ptlogin2.qq.com/cgi-bin/xlogin?&s_url=https%3A%2F%2Fact.daoju.qq.com%2Fact%2Fa20190228wzdb%2Findex.html")
    time.sleep(5)
    register_sumbmit = driver.find_element_by_id("switcher_plogin")
    register_sumbmit.click()
    try:
        inputTag = driver.find_element_by_id("u")
        inputTag.send_keys("####")  # 这里填写你的账号
        inputPasswordTag = driver.find_element_by_id("p")
        inputPasswordTag.send_keys("####")  # 这里填写你的密码
        sumbmint = driver.find_element_by_class_name("btn")
        sumbmint.click()
    except Exception as e:
        print(e)
        main()
    for i in range(10):  # 自定理连续抽几次
        try:
            beginTag = driver.find_element_by_class_name("swfcontent_slight")
            beginTag.click()
            time.sleep(2)
        finally:
            driver.refresh()
    time.sleep(2)
    return_tag.click()


if __name__ == '__main__':
    main()

这下子抽奖都高级多了,都概率都爆增
三块钱中的王者之翼,就是用这个软件抽的:
在这里插入图片描述

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值