代码及思路都是比较简单的,没有什么很复杂的东西
主要还记录自己学习过程,仅供参考,大佬勿喷,新手一个
刚刚开始看题目内容,还以为是简单的抓包改包就行,尝试了几次发现不行,想了一想还是用python脚本写比较稳妥
我这里是使用的python操纵浏览器操作,也没有使用requests包(因为比较菜,尝试了一下这种,发现就没法带着cookie和session直接进入题目,但是,新打开一个浏览器的时候可以通过token进入)
那就不说废话,上代码!!
代码其实可以少很多,当初写的时候比较懒,不想去弄复杂的,所以有不少冗杂的代码
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
#这是地址
url = ''
#这里是你自己的Token,在比赛平台可以复制
token = ''
web = Chrome()
web.get(url)
#键盘写入数据
web.find_element(By.XPATH, '/html/body/form/input[1]').send_keys(token)
#鼠标点击
web.find_element(By.XPATH, '/html/body/form/input[2]').click()
# time.sleep(1000)
web.find_element(By.XPATH, '/html/body/div/a').click()
#获取数据
element = web.find_element(By.XPATH,'/html/body/div/form/div[1]/label')
res = element.get_attribute("textContent")
list1 = []
list1 = res.split(" ")
num = list1[0].split("+")
for number in num:
print(number)
number1=int(num[0])
number2=int(num[1])
ans = number1+number2
#写入数据label1
web.find_element(By.XPATH, '/html/body/div/form/div[1]/input').send_keys(ans)
#2
element = web.find_element(By.XPATH,'/html/body/div/form/div[2]/label')
res = element.get_attribute("textContent")
list2 = []
list2 = res.split(" ")
num = list2[0].split("+")
for number in num:
print(number)
number1=int(num[0])
number2=int(num[1])
ans = number1+number2
web.find_element(By.XPATH, '/html/body/div/form/div[2]/input').send_keys(ans)
#3
element = web.find_element(By.XPATH,'/html/body/div/form/div[3]/label')
res = element.get_attribute("textContent")
list2 = []
list2 = res.split(" ")
num = list2[0].split("+")
for number in num:
print(number)
number1=int(num[0])
number2=int(num[1])
ans = number1+number2
web.find_element(By.XPATH, '/html/body/div/form/div[3]/input').send_keys(ans)
web.find_element(By.XPATH, '/html/body/div/form/button').click()
#这里的sleep是方便有时间去复制flag
time.sleep(200)
上面的print可以删除的,只是在测试的时候,方便查看变量赋的对不对。
跑这段代码需要两个前提
就是要有pycharm(开个玩笑,其他的应该也可以)
1.需要下载selenium库
具体操作为:pycharm点文件(File)-- >设置(setting),然后点项目,其中的python 解释器,点加号下载这个就可以
也可以pip install selenium去下载,可能会遇见要求升级pip那就升级一下在下载就OK!
2.安装浏览器驱动
建议直接看大佬文章(直接定位到安装浏览器驱动,大佬讲的很细,膜拜)(23条消息) selenium用法详解【从入门到实战】【Python爬虫】【4万字】_Dream丶Killer的博客-CSDN博客_selenium详解
这些做完之后就可以直接跑代码了
感谢观看