python 基于selenium實(shí)現(xiàn)鼠標(biāo)拖拽功能
1、準(zhǔn)備html文件
首先我們需要準(zhǔn)備一個(gè)鼠標(biāo)滑動(dòng)的html文件,用來(lái)演示鼠標(biāo)滑動(dòng)的效果,注意需要將我們的html文件放在自己的服務(wù)器上,
這樣我們才能夠通過(guò)selenium來(lái)進(jìn)行驗(yàn)證。html文件如下:
<html> <head> <meta charset="utf-8" /> <style> body { margin: 0; padding: 0; } input{ appearance:none; -moz-appearance:none; -webkit-appearance:none; background: none; border:none; } .wrap{ margin: 200px 0 0 200px; } .box { position: relative; width: 200px; height: 30px; border-radius: 20px; background: #686B69; line-height: 30px; overflow: hidden; margin-bottom: 40px; color: #fff; font-size: 12px; } .btn { position: absolute; top: 0; left: 0; height: 30px; width: 30px; background: #0c7; border-radius: 20px; text-align: center; } .tips { text-align: center; } #submit{ line-height: 28px; border-radius: 3px; background: #0c7; width: 200px; text-align: center; color: #fff; } </style> </head> <body> <div class="wrap"> <div class="box"> <div class="btn" id="dragEle"></div> <div class="tips">>>拖動(dòng)滑塊驗(yàn)證<<</div> </div> <input type="button" value="提交驗(yàn)證" id="submit" /> </div> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <script type="text/javascript"> function DragValidate (dargEle,msgEle){ var dragging = false;//滑塊拖動(dòng)標(biāo)識(shí) var iX; dargEle.mousedown(function(e) { msgEle.text(""); dragging = true; iX = e.clientX; //獲取初始坐標(biāo) }); $(document).mousemove(function(e) { if (dragging) { var e = e || window.event; var oX = e.clientX - iX; if(oX < 30){ return false; }; if(oX >= 210){//容器寬度+10 oX = 200; return false; }; dargEle.width(oX + "px"); //console.log(oX); return false; }; }); $(document).mouseup(function(e) { var width = dargEle.width(); if(width < 200){ //console.log(width); dargEle.width("30px"); msgEle.text(">>拖動(dòng)滑塊驗(yàn)證<<"); }else{ dargEle.attr("validate","true").text("驗(yàn)證成功!").unbind("mousedown"); }; dragging = false; }); }; DragValidate($("#dragEle"),$(".tips")); $("#submit").click(function(){ if(!$("#dragEle").attr("validate")){ alert("請(qǐng)先拖動(dòng)滑塊驗(yàn)證!"); }else{ alert("驗(yàn)證成功!"); } }); </script> </body> </html>
2、使用selenium進(jìn)行鼠標(biāo)拖拽操作,具體代碼如下:
from selenium import webdriver import unittest from selenium.webdriver import ActionChains import time url = 'http://192.168.62.9:1234/easytest/tt' driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") driver.get(url) driver.maximize_window() # 獲取第一,二,三能拖拽的元素 drag1 = driver.find_element_by_id('dragEle') # 創(chuàng)建一個(gè)新的ActionChains,將webdriver實(shí)例對(duì)driver作為參數(shù)值傳入,然后通過(guò)WenDriver實(shí)例執(zhí)行用戶(hù)動(dòng)作 action_chains = ActionChains(driver) # 將頁(yè)面上的第一個(gè)能被拖拽的元素拖拽到第二個(gè)元素位置 # 將頁(yè)面上的第三個(gè)能拖拽的元素,向右下拖動(dòng)10個(gè)像素,共拖動(dòng)5次 action_chains.drag_and_drop_by_offset(drag1, 208, 0).perform() time.sleep(5) driver.quit()
以上就是python 基于selenium實(shí)現(xiàn)鼠標(biāo)拖拽功能的詳細(xì)內(nèi)容,更多關(guān)于python 鼠標(biāo)拖拽的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Selenium執(zhí)行完畢未關(guān)閉chromedriver/geckodriver進(jìn)程的解決辦法(java版+python版)
- Python Selenium XPath根據(jù)文本內(nèi)容查找元素的方法
- Python爬蟲(chóng)之Selenium設(shè)置元素等待的方法
- Python爬蟲(chóng)中Selenium實(shí)現(xiàn)文件上傳
- python使用yaml 管理selenium元素的示例
- Selenium結(jié)合BeautifulSoup4編寫(xiě)簡(jiǎn)單的python爬蟲(chóng)
- python 實(shí)現(xiàn)控制鼠標(biāo)鍵盤(pán)
- Python 實(shí)現(xiàn)鍵盤(pán)鼠標(biāo)按鍵模擬
- Python監(jiān)聽(tīng)鍵盤(pán)和鼠標(biāo)事件的示例代碼
- opencv+python實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊圖像,輸出該點(diǎn)的RGB和HSV值
- Python實(shí)現(xiàn)鼠標(biāo)自動(dòng)在屏幕上隨機(jī)移動(dòng)功能
相關(guān)文章
Python實(shí)現(xiàn)C#代碼生成器應(yīng)用服務(wù)于Unity示例解析
為了滿(mǎn)足項(xiàng)目需要,需要實(shí)現(xiàn)一個(gè)c#代碼生成器,為此設(shè)計(jì)了一個(gè)語(yǔ)法模板適用于Unity的代碼生成器。本次使用了Python的Template模板,使用python開(kāi)發(fā)2021-10-10python中使用OpenCV進(jìn)行人臉檢測(cè)的例子
這篇文章主要介紹了python中使用OpenCV進(jìn)行人臉檢測(cè)的例子,需要的朋友可以參考下2014-04-04python3+PyQt5使用數(shù)據(jù)庫(kù)窗口視圖
這篇文章主要為大家詳細(xì)介紹了python3+PyQt5使用數(shù)據(jù)庫(kù)窗口視圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04使用Python將語(yǔ)音轉(zhuǎn)換為文本的方法
這篇文章主要介紹了如何使用Python將語(yǔ)音轉(zhuǎn)換為文本,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08