layui登陆验证页面模板(滑块学习)

layui登陆验证模板(滑块学习)

sliderVerify的示例代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>滑动验证 - layui滑动验证</title>
		<meta name="renderer" content="webkit">
	  	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	  	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
		<link rel="stylesheet" href="layui/css/layui.css" />
		<style>
			.pro_name a{color: #4183c4;}
			.osc_git_title{background-color: #fff;}
			.osc_git_box{background-color: #fff;}
			.osc_git_box{border-color: #E3E9ED;}
			.osc_git_info{color: #666;}
			.osc_git_main a{color: #9B9B9B;}
		</style>
	</head>
	<body>
		<div class="layui-container">
			<div class="layui-row" style="margin-top: 50px;">
				<div class="layui-col-md6">
			      	<form class="layui-form" action="">
				<div class="layui-form-item">
					<label class="layui-form-label">输入框</label>
					<div class="layui-input-block">
						<input type="text" name="title" required lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input">
					</div>
				</div>
				<div class="layui-form-item">
					<label class="layui-form-label">滑动验证</label>
					<div class="layui-input-block">
						<div id="slider"></div>
					</div>
				</div>
				<div class="layui-form-item">
					<div class="layui-input-block">
						<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
						<button class="layui-btn" type="button" id="reset">重置滑块</button>
						<button type="reset" class="layui-btn layui-btn-primary">重置</button>
					</div>
				</div>
			</form>
			    </div>
			</div>
		</div>
	</body>
	<script src="layui/layui.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript" charset="utf-8">
		layui.config({
			base: 'dist/sliderVerify/'//静态资源所在路径
		}).use(['sliderVerify', 'jquery', 'form'], function() {
			var sliderVerify = layui.sliderVerify,
				$ = layui.jquery,
				form = layui.form;
			var slider = sliderVerify.render({
				elem: '#slider',
				onOk: function(){//当验证通过回调
					layer.msg("滑块验证通过");
				}
			})
			$('#reset').on('click',function(){
				slider.reset();
			})
			//监听提交
			form.on('submit(formDemo)', function(data) {
				if(slider.isOk()){
					layer.msg(JSON.stringify(data.field));
				}else{
					layer.msg("请先通过滑块验证");
				}
				return false;
			});

		})
	</script>

</html>

这里失败了自动有相关信息弹出,不需要去配置

在这里插入图片描述

springboot个人登录页面模板测试(这里使用了thymeleaf模板,为了前后端交互)

这里使用了X-admin前端模板 ,所以要下载相关的资源包

页面效果图

在这里插入图片描述

代码

<!doctype html>
<html xmlns:th="http://www.thymeleaf.org" class="x-admin-sm">
<head>
    <meta charset="UTF-8">
    <title>后台登录-blog</title>
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
    <meta http-equiv="Cache-Control" content="no-siteapp"/>
    <link rel="stylesheet" th:href="@{/static/X-admin/css/font.css}">
    <link rel="stylesheet" th:href="@{/static/X-admin/css/login.css}">
    <link rel="stylesheet" th:href="@{/static/X-admin/css/xadmin.css}">
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script type="text/javascript" th:src="@{/static/X-admin/lib/layui/layui.js}" charset="utf-8"></script>
</head>
<body onkeydown="enterSubmit(event)" class="login-bg">

<div class="login layui-anim layui-anim-up">
    <div class="message">blog-管理登录</div>
    <div id="darkbannerwrap"></div>

    <div class="layui-form">
        <input name="username" placeholder="用户名" type="text" lay-verify="required" class="layui-input">
        <hr class="hr15">
        <input name="password" lay-verify="required" placeholder="密码" type="password" class="layui-input">
        <hr class="hr15">
        <div id="slider"></div>
        <hr class="hr15">
        <input id="login" value="登录" lay-submit lay-filter="login" style="width:100%;" type="submit">
        <hr class="hr20">
    </div>
</div>
<script>

    function enterSubmit(obj) {
        //当enter 键按下后,需要执行的事件
        var button = document.getElementById('login');
        if (obj.keyCode == 13) {
            button.click();
        }
    }

    layui.config({
        base: '/X-admin/js/'  //这里是拓展layui资源包
    }).use(['sliderVerify', 'form', 'layer'], function () {
        var form = layui.form,
            layer = layui.layer,
            sliderVerify = layui.sliderVerify,
            $ = layui.jquery;

        var slider = sliderVerify.renlogin-3.htmlder({
            elem: '#slider',
            onOk: function () {//当验证通过回调
                layer.msg("滑块验证通过");
            }
        });

        //监听提交
        form.on('submit(login)', function (data) {
            $.ajax({
                url: "/admin/v1/login",
                type: "post",
                data: data.field,
                success: function(s) {
                    if (s.resultCode == 200) {
                        //加载层-风格3
                        layer.load(2);
                        setTimeout(function () {
                            layer.closeAll('loading');
                        }, 1500);
                        layer.msg(s.message, function () {
                            //这里是接受了后端数据,并进行页面跳转
                            location.href = s.data;
                        });
                    } else {
                        layer.msg(s.message, function () {
                        });
                    }
                },
                error:function(){
                    layer.msg("接口异常!", function () {});
                }
            });
        });
    });
</script>
<!-- 底部结束 -->
</body>
</html>

后端json传输数据

    {
    "resultCode": 200,
    "message": "成功",
    "data": "/admin/v1/index"
}
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要实现登陆京东网站自动化并通过滑块验证,需要使用Python的selenium库和webdriver驱动。 以下是实现的步骤: 1. 安装selenium库和webdriver驱动。可以使用pip安装selenium库,webdriver驱动需要根据使用的浏览器选择相应的驱动下载。 2. 导入selenium库和webdriver驱动。 ```python from selenium import webdriver ``` 3. 创建webdriver对象,并打开京东网站。 ```python driver = webdriver.Chrome() # 使用Chrome浏览器打开 driver.get('https://www.jd.com/') ``` 4. 定位到登录按钮,并点击进入登录页面。 ```python login_button = driver.find_element_by_link_text('你好,请登录') # 定位到登录按钮 login_button.click() # 点击登录按钮 ``` 5. 定位到账户登录按钮,并点击进入账户登录界面。 ```python account_login_button = driver.find_element_by_class_name('login-tab-r') # 定位到账户登录按钮 account_login_button.click() # 点击账户登录按钮 ``` 6. 输入账号和密码,并点击登录。 ```python username_input = driver.find_element_by_id('loginname') # 定位到账号输入框 password_input = driver.find_element_by_id('nloginpwd') # 定位到密码输入框 username_input.send_keys('your_username') # 输入账号 password_input.send_keys('your_password') # 输入密码 login_submit_button = driver.find_element_by_id('loginsubmit') # 定位到登录按钮 login_submit_button.click() # 点击登录按钮 ``` 7. 进入滑块验证界面,定位到滑块并模拟拖动。 ```python import time time.sleep(5) # 等待页面加载完成 slider = driver.find_element_by_class_name('JDJRV-slide-btn') # 定位到滑块 webdriver.ActionChains(driver).click_and_hold(slider).perform() # 模拟鼠标按下 webdriver.ActionChains(driver).move_by_offset(200, 0).perform() # 模拟鼠标拖动 webdriver.ActionChains(driver).release().perform() # 模拟鼠标释放 ``` 完成以上步骤后,就可以自动化登陆京东网站并通过滑块验证了。需要注意的是,验证码的类型不同,需要根据具体情况进行相应的处理。 ### 回答2: Python编程可以使用Selenium和WebDriver来实现自动登录京东网站并通过滑块验证。 首先,需要安装Selenium库。使用pip命令行输入以下命令:pip install selenium 接下来,需要选择一个浏览器驱动程序,比如ChromeDriver。在下载好的ChromeDriver的目录中,可以使用以下代码进行初始化: ``` from selenium import webdriver # path为ChromeDriver的路径 driver = webdriver.Chrome(path) ``` 然后,使用WebDriver对象打开京东网站的登录页面,并输入用户名和密码: ``` # 打开京东登录页面 driver.get("https://passport.jd.com/new/login.aspx") # 输入用户名和密码 username_input = driver.find_element_by_id("loginname") password_input = driver.find_element_by_id("nloginpwd") username_input.send_keys("your_username") password_input.send_keys("your_password") ``` 接下来是通过滑块验证部分。由于具体验证方式会不断变化,这里以通用的方法进行说明。首先,需要点击滑块,触发滑块验证的显示: ``` # 点击滑块 slider = driver.find_element_by_class_name("JDJRV-slide-btn") slider.click() ``` 然后,使用WebDriverWait等待验证码框出现,并通过selenium的ActionChains模拟滑动动作: ``` 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 # 等待滑块验证框出现 WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "JDJRV-smallbox"))) # 模拟滑动动作 slider = driver.find_element_by_class_name("JDJRV-slide-btn") ActionChains(driver).drag_and_drop_by_offset(slider, 300, 0).perform() ``` 最后,可以通过点击登录按钮,完成登录过程: ``` # 点击登录按钮 login_button = driver.find_element_by_id("loginsubmit") login_button.click() ``` 以上代码可以帮助实现Python编程登陆京东网站自动化并通过滑块验证的功能。注意,滑块验证的具体实现会随着京东网站的更新而变化,可能需要针对具体情况进行调整。 ### 回答3: 要实现登陆京东网站自动化并通过滑块验证,我们可以使用Python编程语言结合相关的库和工具来实现。 首先,我们可以使用Selenium库来模拟浏览器行为,并实现自动填写用户名和密码。通过Selenium,我们可以启动无头浏览器,比如Chrome或Firefox,然后使用find_element_by_xpath或find_element_by_id来定位并填写用户名和密码的输入框。 接下来,我们需要处理滑块验证码。京东网站的滑块验证码通常有两个部分:滑块拼图和验证结果。我们需要通过Selenium来获取滑块拼图的位置信息,并通过图像处理库,如PIL或OpenCV,来解析滑块拼图的信息。可以使用find_element_by_xpath或find_element_by_id来获取滑块拼图的位置信息,并使用Selenium的ActionChains类来模拟人工滑动滑块。 首先,在不校验滑块验证的情况下,我们可以通过屏幕截图获取整个网页的图片,并获取滑块拼图和滑块背景图的位置信息。然后,通过图像处理库来识别滑块拼图的位置和大小。接下来,我们可以使用Selenium的ActionChains类来模拟滑动滑块,并通过判断验证结果的元素是否显示来判断是否通过验证。 通过以上步骤和Selenium库,我们就可以实现自动登陆京东网站并通过滑块验证。最后,记得添加适当的异常处理和延时操作来提高自动化脚本的稳定性和可靠性。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值