詳解Java Selenium中的鼠標(biāo)控制操作
簡介
本文主要講解如何用java Selenium 控制鼠標(biāo)在瀏覽器上的操作方法。主要列舉的代碼示例,無圖顯示。可以自己上代碼執(zhí)行操作看效果。
鼠標(biāo)控制
單擊左鍵
模擬完成單擊鼠標(biāo)左鍵的操作,一般點(diǎn)擊進(jìn)入子頁面等會(huì)用到。
第一種通過WebElement對象的click()方法實(shí)現(xiàn)單擊左鍵
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class SeleniumDemo { private final static String webDriver = "webdriver.chrome.driver"; private final static String webDriverPath ="E:\\chromedriver\\chromedriver.exe"; public static void main(String[] args) throws InterruptedException { System.setProperty(webDriver, webDriverPath); WebDriver driver= new ChromeDriver(); //Jenkins 登錄界面 driver.get("http://119.167.159.214:8080/login"); Thread.sleep(2000); //定位按鈕元素 WebElement commentPlugin=driver.findElement(By.name("Submit")); //執(zhí)行單擊操作 commentPlugin.click(); } }
第二種通過Actions對象的click()方法實(shí)現(xiàn)單擊左鍵
//定位按鈕元素 WebElement commentPlugin=driver.findElement(By.name("Submit")); // 實(shí)例化Actions類對象:actions,并將driver傳給actions Actions actions = new Actions(driver); //無定位點(diǎn)擊 actions.click().perform(); //定位web元素后點(diǎn)擊 actions.click(commentPlugin).perform();
.perform()方法是動(dòng)作執(zhí)行的意思,每個(gè)動(dòng)作方法必須再使用.perform()才能執(zhí)行。
單擊右鍵
鼠標(biāo)右擊的操作與左擊有很大不同,需要使用 Actions 。
//定位按鈕元素 WebElement commentPlugin=driver.findElement(By.name("Submit")); // 實(shí)例化Actions類對象:actions,并將driver傳給actions Actions actions = new Actions(driver); //無定位右鍵點(diǎn)擊 actions.contextClick().perform(); //定位web元素后右鍵點(diǎn)擊 actions.contextClick(commentPlugin).perform();
雙擊左鍵
模擬鼠標(biāo)雙擊操作。
//定位按鈕元素 WebElement commentPlugin=driver.findElement(By.name("Submit")); // 實(shí)例化Actions類對象:actions,并將driver傳給actions Actions actions = new Actions(driver); //無定位雙擊 actions.doubleClick().perform(); //定位web元素后雙擊 actions.contextClick(commentPlugin).perform();
按壓左鍵
模擬鼠標(biāo)按下左鍵不松手
//無定位鼠標(biāo)按壓左鍵 actions.clickAndHold().perform(); //定位web元素后鼠標(biāo)按壓左鍵 actions.clickAndHold(commentPlugin).perform();
鼠標(biāo)箭頭移動(dòng)
模擬鼠標(biāo)箭頭移動(dòng)
//移動(dòng)到定位的元素位置上 actions.moveToElement(commentPlugin).perform();
鼠標(biāo)釋放
模擬鼠標(biāo)按壓后,釋放鼠標(biāo)
//鼠標(biāo)釋放 actions.release().perform(); //定位釋放鼠標(biāo)釋放 actions.release(commentPlugin).perform();
鼠標(biāo)拖拽
模擬鼠標(biāo)選中web元素后拖拽到指定位置的操作
//需要拖拽的web元素 WebElement source=driver.findElement(By.id("source")); //拖拽的目標(biāo)元素的位置 WebElement target=driver.findElement(By.id("target")); //拖拽操作 actions.dragAndDrop(source,target).perform();
鼠標(biāo)等待
一般點(diǎn)擊網(wǎng)頁的某個(gè)按鈕,網(wǎng)頁需要渲染一端時(shí)間才會(huì)出現(xiàn)新的dom樹,所以我們需要操作等待執(zhí)行。
//定位web元素后鼠標(biāo)按壓左鍵 actions.clickAndHold(commentPlugin).perform(); //動(dòng)作等待3秒 actions.pause(5000); //釋放鼠標(biāo)左鍵 actions.release(commentPlugin).perform();
到此這篇關(guān)于詳解Java Selenium中的鼠標(biāo)控制操作的文章就介紹到這了,更多相關(guān)Java Selenium鼠標(biāo)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot shiro認(rèn)證授權(quán)實(shí)現(xiàn)原理及實(shí)例
這篇文章主要介紹了Springboot shiro認(rèn)證授權(quán)實(shí)現(xiàn)原理及實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06MyBatis?Mapper.XML?標(biāo)簽使用小結(jié)
在MyBatis中,通過resultMap可以解決字段名和屬性名不一致的問題,對于復(fù)雜的查詢,引用實(shí)體或使用<sql>標(biāo)簽可以定義復(fù)用的SQL片段,提高代碼的可讀性和編碼效率,使用這些高級映射和動(dòng)態(tài)SQL技巧,可以有效地處理復(fù)雜的數(shù)據(jù)庫交互場景2024-10-10springboot項(xiàng)目整合注冊功能模塊開發(fā)實(shí)戰(zhàn)
這篇文章主要介紹了springboot項(xiàng)目整合注冊功能模塊開發(fā)實(shí)戰(zhàn),在用戶的注冊是首先需要查詢當(dāng)前的用戶名是否存在,如果存在則不能進(jìn)行注冊,相當(dāng)于一個(gè)查詢語句,本文通過實(shí)例代碼詳細(xì)講解,需要的朋友可以參考下2022-11-11SpringMVC配置javaConfig及StringHttpMessageConverter示例
這篇文章主要介紹了SpringMVC配置javaConfig及StringHttpMessageConverter實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07關(guān)于在Java中如何使用yaml的實(shí)例
這篇文章主要介紹了關(guān)于在Java中如何使用yaml的實(shí)例,YAML是一種輕量級的數(shù)據(jù)序列化格式。它以易讀、易寫的文本格式表示數(shù)據(jù),支持列表、字典等各種數(shù)據(jù)結(jié)構(gòu),被廣泛應(yīng)用于配置文件、數(shù)據(jù)傳輸協(xié)議等領(lǐng)域,需要的朋友可以參考下2023-08-08在mybatis 中使用if else 進(jìn)行判斷的操作
這篇文章主要介紹了在mybatis 中使用if else 進(jìn)行判斷的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02在idea2023中使用SpringBoot整合Lombok全過程及詳細(xì)用法
Lombok項(xiàng)目是一個(gè)java庫,它可以自動(dòng)插入到編輯器和構(gòu)建工具中,增強(qiáng)java的性能,本文詳細(xì)給大家介紹了在idea2023中使用SpringBoot整合Lombok全過程及詳細(xì)用法,需要的朋友可以參考下2023-09-09SpringBoot整合Hashids實(shí)現(xiàn)數(shù)據(jù)ID加密隱藏的全過程
這篇文章主要為大家詳細(xì)介紹了SpringBoot整合Hashids實(shí)現(xiàn)數(shù)據(jù)ID加密隱藏的全過程,文中的示例代碼講解詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01