亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

下載和安裝AutoIt

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

AutoIt , 這是一個使用類似BASIC腳本語言的免費軟件,它設計用于Windows GUI(圖形用戶界面)的自動化操作,利用模擬鍵盤按鍵,鼠標移動和窗口/控件的組合來實現(xiàn)自動化任務;

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

AutoIt下載鏈接:https://www.autoitscript.com/site/autoit/downloads/ 或者點擊下列圖標進行下載!

在這里插入圖片描述

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

在這里插入圖片描述

點擊SciTe文件夾,我們打開腳本編輯器。

在這里插入圖片描述

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

在這里插入圖片描述

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

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

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

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

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

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

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

在這里插入圖片描述

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

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

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

在這里插入圖片描述

提示Conversion complete轉化完成:將ChromeFileUpload.exe拷貝到項目下,待會在Selenium腳本要使用。
java代碼

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

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

相關文章

  • SpringBoot整合Mybatis與druid實現(xiàn)流程詳解

    SpringBoot整合Mybatis與druid實現(xiàn)流程詳解

    這篇文章主要介紹了springboot整合mybatis plus與druid詳情,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的下伙伴可以參考一下
    2022-10-10
  • Java中JDom解析XML_動力節(jié)點Java學院整理

    Java中JDom解析XML_動力節(jié)點Java學院整理

    JDOM是一種解析XML的Java工具包。DOM適合于當今流行的各種語言,包括Java,JavaScripte,VB,VBScript,Perl,C,C++等。下面通過本文給大家介紹Java中JDom解析XML的方法,感興趣的朋友一起學習吧
    2017-07-07
  • 一篇文章讓你弄懂Java運算符

    一篇文章讓你弄懂Java運算符

    java中位運算符主要有按位與&、按位或|、按位非~、按位異或^, 在使用時需要將運算數(shù)都轉換為二進制再進行運算,若為負數(shù)則使用補碼表示,這篇文章主要給大家介紹了關于Java運算符的相關資料,需要的朋友可以參考下
    2022-03-03
  • Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-03-03
  • 簡述JAVA同步、異步、阻塞和非阻塞之間的區(qū)別

    簡述JAVA同步、異步、阻塞和非阻塞之間的區(qū)別

    這篇文章主要介紹了JAVA同步、異步、阻塞和非阻塞之間的區(qū)別,文中講解非常細致,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • RocketMQ重試機制及消息冪代碼實例解析

    RocketMQ重試機制及消息冪代碼實例解析

    這篇文章主要介紹了RocketMQ重試機制及消息冪代碼實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • java高并發(fā)之理解進程和線程

    java高并發(fā)之理解進程和線程

    這篇文章主要給大家介紹了關于java高并發(fā)進程和線程的內容,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2021-10-10
  • IDEA安裝lombok插件設置Enable Annotation Processing后編譯依然報錯解決方法

    IDEA安裝lombok插件設置Enable Annotation Processing后編譯依然報錯解決方法

    這篇文章主要介紹了IDEA安裝lombok插件設置Enable Annotation Processing后編譯依然報錯解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Spring責任鏈模式使用實例講解

    Spring責任鏈模式使用實例講解

    責任鏈是行為型設計模式的一種,通過前一個處理者記錄下一個處理者的方式形成一條處理鏈。客戶端在調用時只需要將請求傳遞到責任上即可,無需關注鏈路中的具體的傳遞過程。而鏈路中內部的處理,是按照前一個處理者記錄的下一個處理者依次執(zhí)行
    2023-01-01
  • 通過AOP攔截Spring?Boot日志并將其存入數(shù)據(jù)庫功能實現(xiàn)

    通過AOP攔截Spring?Boot日志并將其存入數(shù)據(jù)庫功能實現(xiàn)

    本文介紹了如何使用Spring Boot和AOP技術實現(xiàn)攔截系統(tǒng)日志并保存到數(shù)據(jù)庫中的功能,包括配置數(shù)據(jù)庫連接、定義日志實體類、定義日志攔截器、使用AOP攔截日志并保存到數(shù)據(jù)庫中等步驟,感興趣的朋友一起看看吧
    2023-08-08

最新評論