实现nav_Go+chromedp实现cf活动抢领

最近沉迷游戏,却无奈手速不佳,未能抢到心仪的装备,于是就有了如下分析

首先来到活动页面

7f6b9d462a40eceeaa726e5e1ed9eb9a.png

分析页面

首先,f12查看,找到指定的按钮的jspath或者selector,例如如下

cdfb220fc740fc5e6fefdb7e1a67445d.png

这里有个小坑,因为如图所示,只有在这个在线风暴里面才有这个武器,所以我们要想拿到这个武器的按钮就必须先点击这个在线风暴

领取问题解决了,接下来就是最重要的登录问题了。

账号密码登录

这里又有一个坑,反复测试发现这里如果是直接在活动页面里面点击登录然后就操作不了登陆框中的账号密码登录按钮等,所以这里必须通过f12中的network中查找到对应的ajax操作。

ffe54f466ee112bdb3591c872605d2cc.png

或者搜索xin,找到形如如上的url即可,这里我们登录的思路是先在这个页面里面登录然后跳转到活动页面,这样就可以保证活动页面有之前会话时保存的信息,也就实现了登录。

3064085aa0bcda776e081c20545d2f07.png

然后通过chromedp定位输入等

bd8696d68416a78fbf2675aa79979d4b.png

End

Code

package main import (  "context"  "github.com/chromedp/chromedp"  "time") func main() {  //显示浏览器窗口  allocctx, cancel := chromedp.NewExecAllocator(    context.Background(),  )  defer cancel()  //创建chromedp上下文实例  ctx, cancel := chromedp.NewContext(allocctx)  defer cancel()  var err = chromedp.Run(ctx,    //先登录,通过活动页面f12->network->search->xin->找到形如下面的url    chromedp.Navigate(`https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https://game.qq.com/comm-htdocs/milo/proxy.html&appid=21000124&target=top&s_url=https%3A%2F%2Fcf.qq.com%2F&style=20&daid=8`),    //等待页面加载成功    chromedp.Sleep(2*time.Second),    //点击账号密码登录    chromedp.Click(`switcher_plogin`, chromedp.ByID,chromedp.NodeVisible),    //输入账号 这里selector无解,jspath可以    chromedp.SendKeys(`document.querySelector("#u")`, "99746460",chromedp.ByJSPath),    //输入密码    chromedp.SendKeys(`document.querySelector("#p")`, "password",chromedp.ByJSPath),    //点击登录    chromedp.Click(`#login_button`),    chromedp.Sleep(1*time.Second),    //跳转到活动页面    chromedp.Navigate("https://cf.qq.com"),    //等待网页加载    chromedp.Sleep(1*time.Second),    //找到第二栏    chromedp.Click(`body > div.wrap > div > div.mind > div.nav > a.t2`),    //点击领取按钮    chromedp.Click(`div.part02 > ul > li:nth-child(1) > a`),  )  if err != nil {    panic(err)  }}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值