python实现忍三游戏兑换码全族自动领取
==前几天玩游戏的时候,突发奇想,想写一个python程序实现重复操作网页然后一次性帮全族的玩家领取兑换码奖励。所以我就写了一个简短的代码可以实现这个小功能,也算是给族员的一个小小的礼物??。
前提准备
python3.6(我使用的是python3版本,python2应该也是可以使用的,虽然我没具体做过,不过两者差不太多)
配置chromedriver,具体参考博客:
https://www.cnblogs.com/SunboyL/p/11563345.html
不过我在参考这个博客的时候出了一点小问题,后来发现还需要把chromedriver.exe文件拷贝到你写代码的地方,不然会报错。
安装python的selenium库,大家应该都会安装python的库吧?我就不写这个了。就是下面这个:
到这里所有配置就结束了
思路+代码
首先呢需要测试一下你的配置是不是成功了。参考
https://www.cnblogs.com/SunboyL/p/11563345.html
如果那你配置成功了,那你就成功一般辣!
正文开始
首先根据参考的代码打开测试chrome:
def openChrome():
# 加启动配置
option = webdriver.ChromeOptions()
option.add_argument('disable-infobars')
# 打开chrome浏览器
driver = webdriver.Chrome(chrome_options=option)
return driver
然后呢需要打开忍3
兑换码领取
界面,手动定位到玩家id和兑换码的输入框id。
所以角色ID的网页代码id就是
uid
同样的方式定位到兑换码的id是
dhm
(这个就是兑换码的中文拼音哈哈哈哈)
本来我想以同样的方式定位到兑换按钮的id,but我看了一下网页源码然后发现居然没有id。嘶~~这可咋办呢??但是机智的我发现网页源码中所有的的class中只有兑换按钮的是“submit”。哈哈哈哈哈哈
代码:
url = "http://statistics.pandadastudio.com/player/giftCodeView"
driver.get(url)#模拟打开网页连接
#定位到uid的位置,并且输入内容
elem = driver.find_element_by_id("uid")
elem.send_keys(id)#id就是玩家的id
# 定位到dhm的位置,并且输入内容
elem2 = driver.find_element_by_id("dhm")
elem2.send_keys(dhm)#dhm就是现在有效的兑换码
#找到兑换按钮的位置,然后click一下
driver.find_element_by_xpath("//*[@class='submit']").click()
做到这里就做完了90%,还有10%就是需要采集族员的id信息,然后放在一个excel里面或者txt里面。然后使用遍历的方式实现族员的兑换码一次性领取。我试过了,效率还比较高,网络情况良好的情况下全族玩家领取只需要2-5分钟。
完整的代码我放在了
https://download.csdn.net/download/qq_41707448/12262358
因为这个文章已经把最重要的部分都写出来了,所以有想法的可以参考博客,不想自己写的就取下载完整的吧。不过大家能加入我们家族的话我可以免费赠送哦吼吼吼。
忍3家族招人!!编号124899,Q群:759116750,玫瑰与鹿!!这里是故事开始的地方!
写在最后的话······其实我并不是一个专业学习写程序的,甚至在我完成这个代码的前1分钟,我对网页的知识还一无所知。但是呢,我产生了一个好的想法,然后我鼓足勇气尝试去实现它。不是所有的开始都是万事俱备的,在慢慢实现的过程中,东风自来。所以 Must try