最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java selenium上傳文件的實(shí)現(xiàn)

 更新時(shí)間:2022年04月17日 16:46:52   作者:Q z1997  
本文主要介紹了Java selenium上傳文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

下載和安裝AutoIt

文件上傳是自動(dòng)化中棘手的部分,目前selenium并沒有提供上傳的實(shí)現(xiàn)api,所以知道借助外力來完成,如AutoIt、sikuli。

AutoIt , 這是一個(gè)使用類似BASIC腳本語言的免費(fèi)軟件,它設(shè)計(jì)用于Windows GUI(圖形用戶界面)的自動(dòng)化操作,利用模擬鍵盤按鍵,鼠標(biāo)移動(dòng)和窗口/控件的組合來實(shí)現(xiàn)自動(dòng)化任務(wù);

1.打開AutoIt的官網(wǎng)下載

AutoIt下載鏈接:https://www.autoitscript.com/site/autoit/downloads/ 或者點(diǎn)擊下列圖標(biāo)進(jìn)行下載!

在這里插入圖片描述

兩種下載方法都可以,這里我想下載的是zip,解壓出來如下圖所示:

在這里插入圖片描述

點(diǎn)擊SciTe文件夾,我們打開腳本編輯器。

在這里插入圖片描述

打開百度圖片上傳窗口,打開AutoIt Windows Info 工具,鼠標(biāo)移動(dòng)到Finder Tool,按住鼠標(biāo)左鍵拖動(dòng)到需要識別的windows控件上。拖動(dòng)元素定位器上那個(gè)靶點(diǎn)形狀按鈕到文件上傳彈窗,能夠捕獲到一些元素信息。用鼠標(biāo)拖住工具上的Finder Tool的圖標(biāo)(即圖中藍(lán)色圈圈部分)到要識別的控件上,控件的唯一標(biāo)識信息會(huì)顯示在工具的左側(cè)部分(圖中紅框標(biāo)出的部分)。從顯示的結(jié)果得知,此控件的Title=“打開”,Class為Edit,Instance=1。我們就是利用控件的這些信息,定位控件,編寫腳本。

在這里插入圖片描述

打開編輯器,根據(jù)控件Finder Tool識別到的信息來調(diào)用函數(shù)編寫腳本;在AutoIt腳本編輯器里輸入如下腳本,不要下面我寫的備注哈。

我們這里需要知道有以下信息:

1.操作頁面的title,用于固定操作的頁面。
2.需要填入的信息,在輸入框中填入“上傳文件的路徑及文件名”(windows操作)
3.點(diǎn)擊“打開”按鈕,實(shí)現(xiàn)文件上傳。

根據(jù)以上所識別的控件信息,利用編輯器SciTE Script Editor,根據(jù)AutoIT的語法編寫腳本。

實(shí)現(xiàn)文件上傳需要的幾個(gè)方法:

ControlFocus ( "窗口標(biāo)題", "窗口文本", 控件ID)
---->設(shè)置輸入焦點(diǎn)到指定窗口的某個(gè)控件上(即:控件ID“文件名”輸入框的id)
WinWait ( "窗口標(biāo)題" [, "窗口文本" [, 超時(shí)時(shí)間]] )
---->暫停腳本的執(zhí)行直至指定窗口存在(出現(xiàn))為止
ControlSetText ( "窗口標(biāo)題", "窗口文本", 控件ID, "新文本" )
---->修改指定控件的文本(即:控件ID“文件名”輸入框的id)
Sleep ( 延遲 )
---->使腳本暫停指定時(shí)間段
ControlClick ( "窗口標(biāo)題", "窗口文本", 控件ID [, 按鈕] [, 點(diǎn)擊次數(shù)]] )
---->向指定控件發(fā)送鼠標(biāo)點(diǎn)擊命令(即:控件ID“打開”按鈕的id)

其中,title即AutoIt Window Info識別出的Title字段,controlID即AutoIt Window Info識別出的Class和Instance的拼接,如上圖拼接后的結(jié)果應(yīng)為:Button1(即classnameNN)

在這里插入圖片描述

ControlFocus(("title","text",controllD)用于識別windows文件上傳窗口
ControlFocus("打開","","")向文件名輸入框輸入本地要上傳文件的路徑
ControlSetText("打開","","Edit1","C:\Users\DELL\Desktop\test\upload\北京宏哥.jpeg")
Sleep(2000)點(diǎn)擊上傳窗口中的“打開“按鈕
ControlClick("打開","","Button1")

保存腳本文件為ChromFileUpload.au3格式,然后在AutoIt腳本編輯器中點(diǎn)擊Tools菜單,tools=>go,執(zhí)行腳本驗(yàn)證(前提是windows窗口必須是打開狀態(tài)),驗(yàn)證成功,如下圖所示:
為了這個(gè)腳本能被java 程序調(diào)用,需要通過Compile Script to .exe (x64)工具生成exe文件(這個(gè)是通過.exe安裝包安裝的AutoIt)

AutoIt腳本編輯器中點(diǎn)擊Tools菜單,選擇compile,會(huì)在同路徑下生成一個(gè).exe的文件(這個(gè)是通過解壓包安裝的AutoIt)

在這里插入圖片描述

提示Conversion complete轉(zhuǎn)化完成:將ChromeFileUpload.exe拷貝到項(xiàng)目下,待會(huì)在Selenium腳本要使用。
java代碼

//實(shí)現(xiàn)文件上傳。通過Runtime的靜態(tài)方法獲取Runtime對象
Runtime runtime = Runtime.getRuntime();
//通過Runtime對象調(diào)用exe方法
runtime.exec("C:\Users\DELL\Desktop\test\upload\ChromeFileUpload.exe");

到此這篇關(guān)于Java selenium上傳文件的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java selenium上傳文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 讓你五分鐘徹底理解Spring MVC

    讓你五分鐘徹底理解Spring MVC

    其實(shí)MVC就是處理Web請求的一種框架模式,如果你對MVC不太熟悉的話可以看下本文,這篇文章主要給大家介紹了關(guān)于如何讓你五分鐘徹底理解Spring MVC的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • java中spi使用詳解

    java中spi使用詳解

    java中spi(service provider interface)是jdk內(nèi)置的一種服務(wù)發(fā)現(xiàn)機(jī)制,可以基于配置,在運(yùn)行時(shí)加載指定服務(wù)。這篇文章主要介紹了java中spi使用,需要的朋友可以參考下
    2020-09-09
  • 淺談Spring Cloud zuul http請求轉(zhuǎn)發(fā)原理

    淺談Spring Cloud zuul http請求轉(zhuǎn)發(fā)原理

    這篇文章主要介紹了淺談Spring Cloud zuul http請求轉(zhuǎn)發(fā)原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • JavaWeb 實(shí)現(xiàn)驗(yàn)證碼功能(demo)

    JavaWeb 實(shí)現(xiàn)驗(yàn)證碼功能(demo)

    在 WEB-APP 中一般應(yīng)用于:登錄、注冊、買某票、秒殺等場景,大家都接觸過這個(gè)驗(yàn)證碼操作,今天小編通過實(shí)例代碼給大家講解javaweb實(shí)現(xiàn)驗(yàn)證碼功能,需要的朋友參考下
    2017-02-02
  • 如何更優(yōu)雅地獲取spring boot yml中的值

    如何更優(yōu)雅地獲取spring boot yml中的值

    這篇文章主要給大家介紹了關(guān)于如何更優(yōu)雅地獲取spring boot yml中值的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • spring注解之@Valid和@Validated的區(qū)分總結(jié)

    spring注解之@Valid和@Validated的區(qū)分總結(jié)

    @Validated和@Valid在基本驗(yàn)證功能上沒有太多區(qū)別,但在分組、注解地方、嵌套驗(yàn)證等功能上有所不同,下面這篇文章主要給大家介紹了關(guān)于spring注解之@Valid和@Validated區(qū)分的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Spring?c3p0配置的實(shí)現(xiàn)示例

    Spring?c3p0配置的實(shí)現(xiàn)示例

    在Spring框架中配置c3p0連接池可以提升數(shù)據(jù)庫操作性能,本文主要介紹了Spring?c3p0配置的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-09-09
  • 關(guān)于Java數(shù)組聲明、創(chuàng)建、初始化的相關(guān)介紹

    關(guān)于Java數(shù)組聲明、創(chuàng)建、初始化的相關(guān)介紹

    這篇文章主要是關(guān)于Java數(shù)組聲明、創(chuàng)建、初始化的相關(guān)介紹,并給出其對應(yīng)的代碼,需要的朋友可以參考下
    2015-08-08
  • java中xml和對象之間的互相轉(zhuǎn)換方法

    java中xml和對象之間的互相轉(zhuǎn)換方法

    在java開發(fā)中我們經(jīng)常會(huì)遇到Xml與對象互相轉(zhuǎn)換的情況,這篇文章主要給大家介紹了關(guān)于java中xml和對象之間的互相轉(zhuǎn)換方法,文中給出了兩種解決方法,需要的朋友可以參考下
    2023-06-06
  • Java中RabbitMQ隊(duì)列實(shí)現(xiàn)RPC詳解

    Java中RabbitMQ隊(duì)列實(shí)現(xiàn)RPC詳解

    這篇文章主要介紹了Java中RabbitMQ隊(duì)列實(shí)現(xiàn)RPC詳解,在本教程中,我們將使用RabbitMQ構(gòu)建一個(gè)RPC系統(tǒng):一個(gè)客戶端和一個(gè)RPC服務(wù)器,我們將創(chuàng)建一個(gè)返回斐波那契數(shù)字的模擬RPC服務(wù),,需要的朋友可以參考下
    2023-08-08

最新評論

英吉沙县| 斗六市| 云南省| 舒兰市| 家居| 洪湖市| 方山县| 贵德县| 保靖县| 永清县| 婺源县| 黄陵县| 延边| 海门市| 宜都市| 平陆县| 海盐县| 栖霞市| 东平县| 肥城市| 宜兴市| 普兰店市| 崇礼县| 郁南县| 岳阳县| 青浦区| 玉溪市| 许昌县| 龙门县| 嘉祥县| 庄浪县| 炎陵县| 云浮市| 通辽市| 崇义县| 德令哈市| 临夏县| 梁山县| 巴青县| 辽中县| 惠安县|