欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Java Selenium中的鼠標(biāo)控制操作

 更新時(shí)間:2023年01月06日 15:05:06   作者:洛陽泰山  
本文主要講解如何用java Selenium 控制鼠標(biāo)在瀏覽器上的操作方法。主要列舉的代碼示例,大家可以自己上代碼執(zhí)行操作看效果,希望對大家有所幫助

簡介

本文主要講解如何用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í)例

    這篇文章主要介紹了Springboot shiro認(rèn)證授權(quán)實(shí)現(xiàn)原理及實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • MyBatis?Mapper.XML?標(biāo)簽使用小結(jié)

    MyBatis?Mapper.XML?標(biāo)簽使用小結(jié)

    在MyBatis中,通過resultMap可以解決字段名和屬性名不一致的問題,對于復(fù)雜的查詢,引用實(shí)體或使用<sql>標(biāo)簽可以定義復(fù)用的SQL片段,提高代碼的可讀性和編碼效率,使用這些高級映射和動(dòng)態(tài)SQL技巧,可以有效地處理復(fù)雜的數(shù)據(jù)庫交互場景
    2024-10-10
  • springboot項(xiàng)目整合注冊功能模塊開發(fā)實(shí)戰(zhàn)

    springboot項(xiàng)目整合注冊功能模塊開發(fā)實(shí)戰(zhàn)

    這篇文章主要介紹了springboot項(xiàng)目整合注冊功能模塊開發(fā)實(shí)戰(zhàn),在用戶的注冊是首先需要查詢當(dāng)前的用戶名是否存在,如果存在則不能進(jìn)行注冊,相當(dāng)于一個(gè)查詢語句,本文通過實(shí)例代碼詳細(xì)講解,需要的朋友可以參考下
    2022-11-11
  • SpringMVC配置javaConfig及StringHttpMessageConverter示例

    SpringMVC配置javaConfig及StringHttpMessageConverter示例

    這篇文章主要介紹了SpringMVC配置javaConfig及StringHttpMessageConverter實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 關(guān)于在Java中如何使用yaml的實(shí)例

    關(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)行判斷的操作

    這篇文章主要介紹了在mybatis 中使用if else 進(jìn)行判斷的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 在idea2023中使用SpringBoot整合Lombok全過程及詳細(xì)用法

    在idea2023中使用SpringBoot整合Lombok全過程及詳細(xì)用法

    Lombok項(xiàng)目是一個(gè)java庫,它可以自動(dòng)插入到編輯器和構(gòu)建工具中,增強(qiáng)java的性能,本文詳細(xì)給大家介紹了在idea2023中使用SpringBoot整合Lombok全過程及詳細(xì)用法,需要的朋友可以參考下
    2023-09-09
  • 詳解如何獲取java中類的所有對象實(shí)例

    詳解如何獲取java中類的所有對象實(shí)例

    如何在運(yùn)行時(shí)獲取一個(gè)Java類的所有對象實(shí)例呢,本文給大家介紹一種底層實(shí)現(xiàn)的方式,基于jvmti,代碼用C++實(shí)現(xiàn),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • volatile可見性的一些認(rèn)識和論證

    volatile可見性的一些認(rèn)識和論證

    volatile的關(guān)鍵詞的使用在JVM內(nèi)存模型中已是老生常談了,這篇文章主要結(jié)合自己對可見性的一些認(rèn)識和一些直觀的例子來談?wù)剉olatile,感興趣的朋友一起看看吧
    2017-08-08
  • SpringBoot整合Hashids實(shí)現(xiàn)數(shù)據(jù)ID加密隱藏的全過程

    SpringBoot整合Hashids實(shí)現(xiàn)數(shù)據(jù)ID加密隱藏的全過程

    這篇文章主要為大家詳細(xì)介紹了SpringBoot整合Hashids實(shí)現(xiàn)數(shù)據(jù)ID加密隱藏的全過程,文中的示例代碼講解詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01

最新評論