Android模拟滑块验证,Android 滑块验证

本文介绍了如何在Android应用中实现滑块验证功能,包括在build.gradle中添加依赖,设置布局文件,以及编写Java代码来展示和处理滑块验证。通过点击按钮切换滑动条模式,并提供了验证成功和失败的回调处理。
摘要由CSDN通过智能技术生成

先上图看看实现效果

dc08715b7b4778e00a016f2891f5627f.png

1.在 app 的 build.gradle 添加依赖

implementation 'com.luozm.captcha:captcha:1.1.2'

2.将 Captcha 添加至布局文件

android:id="@+id/captCha"

android:layout_centerInParent="true"

android:layout_width="match_parent"

android:layout_height="265dp"

android:layout_marginRight="10dp"

android:layout_marginLeft="10dp"

app:mode="mode_bar"

app:src="@drawable/validate"

app:blockSize="50dp"

android:scaleType="centerCrop"

app:max_fail_count="4"/>

3.添加 Java 代码

public void showw(String advPic) {

Cont

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人工模拟滑块验证的爬虫代码Python有点复杂,需要使用一些第三方库来实现。下面是一个示例代码,需要注意的是,网站的具体滑块验证方式可能有所不同,需要根据实际情况进行修改。 ```python import time import random from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as ec # 初始化浏览器驱动 driver = webdriver.Chrome() driver.maximize_window() # 打开目标网站 driver.get("https://www.example.com/") # 等待页面加载完成 wait = WebDriverWait(driver, 10) slider = wait.until(ec.presence_of_element_located((By.CLASS_NAME, "slider"))) # 滑块 bg = wait.until(ec.presence_of_element_located((By.CLASS_NAME, "bg"))) # 背景图片 # 获取滑块、背景图片的 X 坐标 slider_x = slider.location['x'] bg_x = bg.location['x'] # 计算滑块需要滑动的距离 distance = bg_x - slider_x # 模拟人类行为,随机生成一些鼠标移动的轨迹 tracks = [] current = 0 mid = distance * 3 / 5 while current < distance: if current < mid: offset = random.randint(1, 5) else: offset = random.randint(6, 9) tracks.append(offset) current += offset # 模拟鼠标拖动滑块 action = ActionChains(driver) action.click_and_hold(slider).perform() for track in tracks: action.move_by_offset(track, 0) action.release().perform() # 等待滑块验证完成,如果成功则跳转至目标页面 time.sleep(5) if driver.current_url == "https://www.example.com/target_page": print("验证成功") else: print("验证失败") # 关闭浏览器 driver.quit() ``` 上面的代码使用了 Selenium 库来实现模拟鼠标拖动滑块的功能。需要提前安装好 Chrome 浏览器和 ChromeDriver 驱动程序,并将其加入系统环境变量中。在运行前需要修改代码中的网站链接和滑块、背景图片的选择器等信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值