python 基于selenium實(shí)現(xiàn)鼠標(biāo)拖拽功能
首先我們需要準(zhǔn)備一個(gè)鼠標(biāo)滑動(dòng)的html文件,用來演示鼠標(biāo)滑動(dòng)的效果,注意需要將我們的html文件放在自己的服務(wù)器上,
這樣我們才能夠通過selenium來進(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 id='dragEle'></div><div class='tips'>>>拖動(dòng)滑塊驗(yàn)證<<</div></div> <input type='button' value='提交驗(yàn)證' /></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)識 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('請先拖動(dòng)滑塊驗(yàn)證!'); }else{ alert('驗(yàn)證成功!'); } });</script></body></html>2、使用selenium進(jìn)行鼠標(biāo)拖拽操作,具體代碼如下:
from selenium import webdriverimport unittestfrom selenium.webdriver import ActionChainsimport 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í)例對driver作為參數(shù)值傳入,然后通過WenDriver實(shí)例執(zhí)行用戶動(dòng)作action_chains = ActionChains(driver)# 將頁面上的第一個(gè)能被拖拽的元素拖拽到第二個(gè)元素位置# 將頁面上的第三個(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)拖拽的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Spring security 自定義過濾器實(shí)現(xiàn)Json參數(shù)傳遞并兼容表單參數(shù)(實(shí)例代碼)2. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析3. python wsgiref源碼解析4. 一文搞懂 parseInt()函數(shù)異常行為5. python tkinter實(shí)現(xiàn)下載進(jìn)度條及抖音視頻去水印原理6. python學(xué)習(xí)之plot函數(shù)的使用教程7. python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例8. ASP.NET MVC使用正則表達(dá)式驗(yàn)證手機(jī)號碼9. Python基于百度AI實(shí)現(xiàn)抓取表情包10. python 實(shí)現(xiàn)"神經(jīng)衰弱"翻牌游戲
