日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(java+selenium)Web自动化12306模拟人工滑块验证

發布時間:2023/12/9 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (java+selenium)Web自动化12306模拟人工滑块验证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?Web自動化測試中12306登陸中想著模擬鼠標去拖動滑塊完成驗證,試了很久發現了一種方法可以來繞過瀏覽器的檢測來完成驗證.

話不多說,直接上圖和代碼

selenium我用的是3.多的版本,如果是4.多的版本定位元素語法可能是:

driver.findElement(By.id("J-login"));

首先是所需要的的導入的jar包

下面是主方法:

package com.zmy.Test; import java.util.concurrent.TimeUnit; import org.junit.Assert; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.Select;public class WebAnto_12306 {public static void main(String[] args) throws InterruptedException {// 配置谷歌驅動System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");// 驅動自動控制軟件標識ChromeOptions options = new ChromeOptions();options.addArguments("--disable-blink-features=AutomationControlled");options.setExperimentalOption("excludeSwitches", new String[] { "enable-automation" });// 創建驅動對象ChromeDriver driver = new ChromeDriver(options);// 窗口最大化driver.manage().window().maximize();// 隱式等待10sdriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);// 打開12306官網driver.get("https://www.12306.cn/index/");// 找到登錄按鈕并點擊driver.findElementById("J-btn-login").click();// 找到用戶名輸入框并輸入driver.findElementById("J-userName").sendKeys("175********");// 找到密碼輸入框driver.findElementById("J-password").sendKeys("zhang******");// 找到登陸按鈕并點擊driver.findElementById("J-login").click();// 找到拖動按鈕WebElement btnElement = driver.findElementById("nc_1_n1z");// 創建動作對象Actions actions = new Actions(driver);// 按住鼠標actions.clickAndHold(btnElement);// 拖到最右邊actions.moveByOffset(400, 0);//放開鼠標actions.release();// 執行該動作actions.perform();} }

下面圖片中的兩個框框是成功的關鍵,可以試著去將第一個框框中options中add和set兩個注釋啦,你會有意外的發現

第二個框中的拖到最右邊的來兩個參數是,第一個是x軸,以拖動按鈕作為中心水平是x軸,豎直是y軸向右移動400像素(qq截圖就可以查看這個拖動框的長寬),上下不需要動.接著直接運行你會發現他可以自己模擬鼠標拖動啦.

總結

以上是生活随笔為你收集整理的(java+selenium)Web自动化12306模拟人工滑块验证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。