亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Selenium開源庫實現(xiàn)Web頁面自動化的開發(fā)探析

        2025-07-20 00:00:00劉博
        數(shù)字通信世界 2025年6期
        關(guān)鍵詞:頁面設(shè)計

        doi:10.3969/J.ISSN.1672-7274.2025.06.024

        中圖分類號:TP31 文獻標(biāo)志碼:A

        Exploration and Development ofWeb Page Automation Based on Selenium Open Source Library

        LIU Bo (China Mobile Online Marketing Service Center Jiangxi Branch, Nanchang 3302oo, China)

        Abstract: The article introduces the basic concept of RPA (Robotic Process Automation) automation and explores the development capabilities of Web automation processes using selenium open-source libraries on Windows and domestic systems (Kirin,UniTrust).

        Keywords:software development; RPA; processautomation; selenium

        0 引言

        RPA(RoboticProcessAutomation)是一種以軟件機器人及人工智能為基礎(chǔ)的業(yè)務(wù)過程自動化科技。它依據(jù)預(yù)先設(shè)定好的程序與現(xiàn)有系統(tǒng)進行交互,并完成預(yù)期的任務(wù)。RPA軟件能夠捕捉并模擬我們?nèi)粘5逆I盤、鼠標(biāo)操作等人機交互行為,如識別、觸發(fā)、通信、文本生成等任務(wù),從而自動執(zhí)行重復(fù)性的業(yè)務(wù)流程,RPA的優(yōu)點包括減少人工錯誤、增強準(zhǔn)確性、提高生產(chǎn)效率并降低成本,它能夠執(zhí)行大量重復(fù)的、基于規(guī)則的工作流程任務(wù)。RPA應(yīng)用領(lǐng)域包括財務(wù)會計、人力資源、采購、供應(yīng)鏈管理等,如費用報銷、單據(jù)審核、人員入職、開具證明、訂單核對等流程。

        分析目前市面上的RPA解決方案,從部署開發(fā)模式來說,一般是RPA設(shè)計器、RPA機器人運行客戶端、RPA機器人服務(wù)端。RPA設(shè)計器一般來說具有可視化的軟件圖形操作界面,在該軟件工具上設(shè)計流程后,配置在客戶端自動化軟件上運行,便可以模擬人類在軟件系統(tǒng)中交互的動作來執(zhí)行業(yè)務(wù)流程。設(shè)計業(yè)務(wù)流程時,用已有的自動化操作組件搭建設(shè)計自動化流程,可以使用鼠標(biāo)拉拽能力組件,編排設(shè)計出各種自動化的業(yè)務(wù)流程。對于復(fù)雜的業(yè)務(wù)邏輯,可嵌入腳本如python處理或者使用RPA設(shè)計器內(nèi)置規(guī)定的語言開發(fā)處理。

        RPA機器人服務(wù)端則是用來管控部署調(diào)度各個RPA機器人運行客戶端,比如,運行的觸發(fā)方式控制、部署方式云端還是本機、操作運行方式是有人值守還是無人值守、狀態(tài)監(jiān)控及操作控制等。同時進行全流程管控,如需求管理、功能測試上線、用戶驗收等。

        RPA機器人運行客戶端則是部署在實際生產(chǎn)終端上,加載運行設(shè)計器開發(fā)制定好的自動化流程,根據(jù)RPA機器人服務(wù)端調(diào)度處理業(yè)務(wù)。

        費用方面需要購買RPA軟件許可證費用和RPA設(shè)計器相關(guān)費用。從開發(fā)使用體驗來講,稍微復(fù)雜的生產(chǎn)流程場景僅靠同的組件鼠標(biāo)拖拉拽是幾乎無法完成,都需具備開發(fā)技能的人員使用RPA工具內(nèi)特定的開發(fā)語言或者相關(guān)腳本進行編程開發(fā),造成使用門檻較高,且開發(fā)體驗較差效率降低。

        企業(yè)內(nèi)部應(yīng)用如果部署使用的是基于瀏覽器的B/S應(yīng)用要實現(xiàn)Web瀏覽器自動化生產(chǎn)應(yīng)用,想節(jié)省費用,同時想提升開發(fā)效率進行輕量級開發(fā),經(jīng)過探索分析,可采用selenuium開源庫結(jié)合目前的流行開發(fā)語言開發(fā)實現(xiàn)Web頁面自動化流程,selenium原本用于Web自動化測試化,可運行在各種類型的瀏覽器中,目前穩(wěn)定版本為selenium3.0,可結(jié)合實現(xiàn)RPA類似功能,在Web瀏覽器的應(yīng)用系統(tǒng)上解決并執(zhí)行大量重復(fù)的、基于規(guī)則的工作流程任務(wù),同時也節(jié)省相關(guān)RPA解決方案購買費用,開發(fā)體驗良好效率更高。

        基于以上,具備開發(fā)技能的人員可以使用開源框架SeleniumWebDriver,編寫模仿用戶操作的操作流程腳本命令(java編寫),WebDrvier根據(jù)瀏覽器驅(qū)動直接調(diào)用Web瀏覽器,瀏覽器執(zhí)行操作流程腳本,流程直接運行在瀏覽器中。實現(xiàn)瀏覽器自動化操作達到RPA自動化流程。從原理來說,RPA解決方案提供商也是采用了類似的開源框架,然后采用PYTHON或者C#等高級編程語言封裝開發(fā)。也可以達到RPA軟件相同效果,且開發(fā)自由度更大更靈活,開發(fā)效率更高。

        下面分別介紹下Windows和國產(chǎn)系統(tǒng)下如何快速搭建基于SeleniumWeb瀏覽器自動化開發(fā)。

        1 Windows環(huán)境下進行SeleniumWeb自動化開發(fā)

        1.1開發(fā)環(huán)境搭建

        條件具備下,最好是Windows11環(huán)境,這以谷歌瀏覽器為例,需安裝googlechrome瀏覽器,版本范圍為V82-V96(版本太新不支持,同時需禁止chrome自動升級),開發(fā)工具為VS.net2022,開發(fā)項目:C#+ winform開發(fā),使用NuGet安裝Selenium相關(guān)庫文件,輸入selenium,查詢后安裝selenium.support、selenium.WebDriver,如圖1所示。

        圖1使用vs2022nuget安裝selenium庫

        1.2啟動Web瀏覽器方式

        這里有兩種模式,一個是用代碼啟動瀏覽器,另外一個先啟動瀏覽器,然后再通過代碼開發(fā)連接它實現(xiàn)自動化。

        1.2.1代碼啟動瀏覽器

        IWebDriver driver Σ=Σ new OpenQA.Selenium. Chrome.ChromeDriver;

        //初始化谷歌瀏覽器對象,獲取到可以控制進行各種瀏覽器操作。

        //如自動打開一個連接網(wǎng)址driver.Navigate.GoToUrl(“要打開的網(wǎng)址”);

        1.2.2先手工啟動谷歌瀏覽器,再用代碼連接

        先建立一個臨時目錄如e:\temp,然后建立谷歌瀏覽器的運行模式,端口為9222距離,用以下命令行啟動谷歌瀏覽器:

        chrome.exe --remote-debugging-por t=9222 --user-data-dir \"E:\temp\"

        然后通過代碼連接端口之后就可以控制此瀏覽器:

        public IWebDriver selenium;

        ChromeOptions options Σ=Σ new ChromeOptions;

        options.DebuggerAddress O= \"127.0.0.1:9222\";

        selenium Σ= new ChromeDriver(options);

        連接到了瀏覽器,就可以進行尋找按鈕、文本等元素進行操作了。

        (1)首先要看元素是不是在iframe里面,如果在,需要切換。

        var framel Σ=Σ selenium.FindElement(By. XPath(\"/html/body/div[3]/iframe\"));

        selenium.SwitchTo.Frame(framel);

        (2)切換回來。

        selenium.SwitchTo.DefaultContent;

        (3)元素定位。

        WebDriver對象的FindElement函數(shù)可用于定位一個頁面元素,可以根據(jù)id、name、Class、xpath、css方式、jQurey等方式定位,這里舉例xpath方式定位(其他定位方式詳情參考相關(guān)資料)。

        如獲取文本框里面的值,一般采用xpath定位,在谷歌瀏覽器,F(xiàn)12打開調(diào)試模式,鼠標(biāo)定位到需要定位的ui元素,右鍵,選擇CopyXpath,復(fù)制此原元素的xpath路徑。

        var startime Σ=Σ selenium.FindElement(By. XPath(\"/html/body/div[1]/input\"));

        System.Threading.Thread.Sleep(500);

        然后獲取里面的內(nèi)容startime.GetAttribute(\"value\")

        (4)按鈕點擊。

        var findbutton τ=τ selenium.FindElement(By. XPath(\"/html/body/div[1]/div[2]/a\"));

        System.Threading.Thread.Sleep(500);

        findbutton.Click;

        由于是操作Web頁面,打開頁面可能會因為網(wǎng)絡(luò)和系統(tǒng)加載問題會延時,如果此時去獲取元素頁面還沒打開,Web頁面元素會無法定位造成報錯失敗,所以每一步都需要加入延時操作。這里只是拋磚引玉,其他元素定位方法請參考相關(guān)文獻[]。

        2國產(chǎn)系統(tǒng)環(huán)境下進行SeleniumWeb自動化開發(fā)

        2.1開發(fā)環(huán)境搭建

        這里介紹采用JDK1.8+selenium庫開發(fā)JAVAconsole工程實現(xiàn)(有條件開發(fā)JAVAUI界面,也可以用PYTHON,QT開發(fā))。開發(fā)工具IntelliJIDEA2022。

        (1)在PC上安裝jdk1.8版本(具體安裝部署可參考相關(guān)資料)。

        (2)準(zhǔn)備谷歌瀏覽器安裝(版本推薦V82-V96之間),安裝后,以麒麟系統(tǒng)為例,一般安裝在/opt/google/chrome目錄下。

        (3)下載同版本的瀏覽器驅(qū)動文件chromedriver,放在/opt/google/chrome目錄下。

        (4)新建javaconcole工程,pom.xml文件如下: org.seleniumhq.selenium selenium-java 3.141.59 org.seleniumhq.selenium selenium-api 3.141.59 org.seleniumhq.selenium selenium-chrome-driver 3.141.59

        2.2啟動Web瀏覽器方式

        打開終端,建立臨時目錄如/home/rpa/temp,輸入以下命令:

        /opt/google/chrome/chrome --remote-debuggingport =9222 --user-data-dir = /home/rpa/temp/\"

        然后通過代碼連接獲取到ChromeDriver進行瀏覽器各種操作,更加靈活。

        System.setProperty(\"webdriver.chrome.driver\" \"/opt/google/chrome/chromedriver\");

        ChromeOptions option Σ= new ChromeOptions;

        option.setExperimentalOption(\"debuggerAddre ss\", \"127.0.0.1:9222\");

        ChromeDriver driver Σ=Σ newChromeDriver (option);

        System.out.println(\"已經(jīng)定位到\" + driver. getTitle;

        元素界面定位方法和前面類似。

        3 其他注意事項

        3.1定位元素經(jīng)常定位不到

        一般有以下原因:Web頁面元素變化了導(dǎo)致xpath路徑變化、頁面由于網(wǎng)絡(luò)原因還沒加載出來定位找不到。第一種需要重新分析頁面元素,第二種原因可使用以下方法:

        3.1.1顯示等待方式來判斷頁面元素是否存在

        //這里以java為例,設(shè)定觸發(fā)條件的最長等待時間為3秒,

        WebDriverWaitwait Σ=Σ newWebDriverWait (driver, 3);

        //判斷指定元素是否在頁面中等待3秒,如果超過3秒,則拋出異常

        Wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath( id=\\"istContainer\\"]/div/div[2]/div[2]/span[1]\")));

        或者加入延遲語句,等待元素加載出來再進行定位獲取。

        3.1.2頁面元素明明在頁面存在但是無法定位

        需要進行滾動條操作,將擋住的頁面元素顯示出來,再定位獲取此UI元素??蓞⒖枷嚓P(guān)文獻[1]。

        4 結(jié)束語

        綜上所述,使用合適的開發(fā)編程語言再結(jié)合selenium開源庫可實現(xiàn)Web瀏覽器自動化操作實現(xiàn)RPA類似功能,開發(fā)過程不再局限且更加靈活更加高效,也可以節(jié)省相關(guān)購買RPA軟件費用。

        參考文獻

        [1]吳曉華,俞美玲SeleniumWebDriver3實戰(zhàn)寶典(java版).北京:電子工業(yè)出版社,2019.

        猜你喜歡
        頁面設(shè)計
        微信群聊總是找不到,打開這個開關(guān)就好了
        大狗熊在睡覺
        刷新生活的頁面
        何為設(shè)計的守護之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        瞞天過?!律O(shè)計萌到家
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        同一Word文檔 縱橫頁面并存
        淺析ASP.NET頁面導(dǎo)航技術(shù)
        最新国产美女一区二区三区| 亚洲激情成人| 国产精品亚洲欧美云霸高清| 妺妺窝人体色www在线直播| 国产AV高清精品久久| 手机在线免费av网址| 国产免费操美女逼视频| 国产精品丝袜一区二区三区在线| 少妇高潮精品正在线播放| 日韩肥臀人妻中文字幕一区| 一边摸一边抽搐一进一出视频| 丰满多毛的大隂户毛茸茸| 真实单亲乱l仑对白视频| 正在播放国产多p交换视频| 国产亚洲欧洲三级片A级| 亚洲大片一区二区三区四区 | 日本女优在线观看一区二区三区| 伊人久久亚洲综合av影院 | 亚洲狠狠婷婷综合久久久久| 无码少妇a片一区二区三区| 亚洲国产精品中文字幕日韩| 久久这里只有精品黄色| 日韩极品在线观看视频| 91中文人妻熟女乱又乱| 亚洲热线99精品视频| 成人免费毛片内射美女-百度 | 观看在线人视频| 久久久日韩精品一区二区三区| 亚洲熟妇少妇69| 国产av无码专区亚洲草草| 午夜国产精品一区二区三区| 亚洲精品国产精品乱码视色| 久久久亚洲av成人网站| 台湾佬综合网| 9久久精品视香蕉蕉| 亚洲少妇一区二区三区老| 免费a级毛片在线播放不收费| 亚洲av国产精品色午夜洪2| 中文字幕精品亚洲人成| 少妇勾引视频网站在线观看| 久久日本视频在线观看|