51Testing软件测试论坛

标题: 怎么用selenium解决滑块验证 [打印本页]

作者: 测试积点老人    时间: 2022-4-24 10:00
标题: 怎么用selenium解决滑块验证
现在我的思路是这样的:在爬取某宝商品数据时,由于访问次数过多大概爬取三千多条数据的时候会跳出一个验证码,后来我发现验证码验证完后重新返回一个新的cookie,如果能得到新的cookie的话那我就可以继续爬取数据(如果还用旧的cookie的话依然会弹出验证码)
我想问一下,要怎么样才能去更新这个cookie?
目前我的想法是用selenium携带旧的cookie去访问某宝(这样就会弹出验证码),然后解决这个验证码就可以得到新的cookie然后我就可以继续去访问了。
下面代码已修改了navigator.webdriver的值和给滑块加速度好像都验证不过去,想来请教一下需要怎么弄才能解决这个验证码的问题
[attach]137496[/attach]
下面是我的代码,需要怎么做才能让他解决验证码的问题(navigator.webdriver的已经被隐藏,这点可以不用再考虑)
[attach]137497[/attach]
  1. distance = 258
  2. # 移动轨迹
  3. track=[]
  4. # 当前位移
  5. current=0
  6. mid=distance*4/5
  7. t=0.2    # 计算间隔
  8. v=1
  9. while current<distance:
  10.     if current<mid:
  11.         a=4
  12.     else:
  13.         a=-3
  14.     v0=v
  15.     v=v0+a*t
  16.     move=v0*t+1/2*a*t*t
  17.     current+=move
  18.     track.append(round(move))
  19. print(track)
  20. first = driver.find_element(By.XPATH,"//*[@id='nc_1_n1z']")

  21. action = ActionChains(driver)
  22. action.click_and_hold(first).perform()      # 按住

  23. for x in track:
  24.     action.move_by_offset(xoffset=x, yoffset=0).perform()
  25. action.release().perform()
复制代码



作者: kallinr    时间: 2022-4-25 10:13
做个尝试
作者: qqq911    时间: 2022-4-25 10:58
将返回保存为变量
作者: bellas    时间: 2022-4-25 13:38
将返回保存为变量
作者: jingzizx    时间: 2022-4-25 14:09
返回以后保存




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2