999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Selenium開源庫實現Web頁面自動化的開發探析

2025-07-20 00:00:00劉博
數字通信世界 2025年6期
關鍵詞:頁面設計

doi:10.3969/J.ISSN.1672-7274.2025.06.024

中圖分類號:TP31 文獻標志碼: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)是一種以軟件機器人及人工智能為基礎的業務過程自動化科技。它依據預先設定好的程序與現有系統進行交互,并完成預期的任務。RPA軟件能夠捕捉并模擬我們日常的鍵盤、鼠標操作等人機交互行為,如識別、觸發、通信、文本生成等任務,從而自動執行重復性的業務流程,RPA的優點包括減少人工錯誤、增強準確性、提高生產效率并降低成本,它能夠執行大量重復的、基于規則的工作流程任務。RPA應用領域包括財務會計、人力資源、采購、供應鏈管理等,如費用報銷、單據審核、人員入職、開具證明、訂單核對等流程。

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

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

RPA機器人運行客戶端則是部署在實際生產終端上,加載運行設計器開發制定好的自動化流程,根據RPA機器人服務端調度處理業務。

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

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

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

下面分別介紹下Windows和國產系統下如何快速搭建基于SeleniumWeb瀏覽器自動化開發。

1 Windows環境下進行SeleniumWeb自動化開發

1.1開發環境搭建

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

圖1使用vs2022nuget安裝selenium庫

1.2啟動Web瀏覽器方式

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

1.2.1代碼啟動瀏覽器

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

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

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

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函數可用于定位一個頁面元素,可以根據id、name、Class、xpath、css方式、jQurey等方式定位,這里舉例xpath方式定位(其他定位方式詳情參考相關資料)。

如獲取文本框里面的值,一般采用xpath定位,在谷歌瀏覽器,F12打開調試模式,鼠標定位到需要定位的ui元素,右鍵,選擇CopyXpath,復制此原元素的xpath路徑。

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

System.Threading.Thread.Sleep(500);

然后獲取里面的內容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頁面,打開頁面可能會因為網絡和系統加載問題會延時,如果此時去獲取元素頁面還沒打開,Web頁面元素會無法定位造成報錯失敗,所以每一步都需要加入延時操作。這里只是拋磚引玉,其他元素定位方法請參考相關文獻[]。

2國產系統環境下進行SeleniumWeb自動化開發

2.1開發環境搭建

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

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

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

(3)下載同版本的瀏覽器驅動文件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(\"已經定位到\" + driver. getTitle;

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

3 其他注意事項

3.1定位元素經常定位不到

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

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

//這里以java為例,設定觸發條件的最長等待時間為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元素。可參考相關文獻[1]。

4 結束語

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

參考文獻

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

猜你喜歡
頁面設計
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 国产人成午夜免费看| 国产精品毛片一区| 99re视频在线| 992tv国产人成在线观看| 69国产精品视频免费| 亚洲国产成人久久精品软件| 亚洲人成网线在线播放va| 综合五月天网| 欧美日韩免费观看| 人妻无码中文字幕一区二区三区| 欧美激情视频一区二区三区免费| 天堂成人av| 国产手机在线ΑⅤ片无码观看| 免费毛片视频| 久久永久精品免费视频| 亚洲综合极品香蕉久久网| 亚洲 欧美 中文 AⅤ在线视频| 一级一毛片a级毛片| 欧美色综合久久| 91热爆在线| 欧美成人综合在线| 午夜一级做a爰片久久毛片| 91成人精品视频| 亚洲成a∧人片在线观看无码| 亚洲天堂免费观看| 国产亚洲一区二区三区在线| 亚洲日韩精品欧美中文字幕| 国产高清在线精品一区二区三区| 国产精品大尺度尺度视频| 9丨情侣偷在线精品国产| 一级毛片免费观看不卡视频| 国产精品手机在线播放| 2021国产乱人伦在线播放| 日本高清在线看免费观看| 中文字幕在线欧美| 国产天天色| 国产一区二区精品福利| 国产在线高清一级毛片| 情侣午夜国产在线一区无码| 国产精品网址你懂的| av一区二区三区高清久久| 亚洲动漫h| 啪啪国产视频| 欧美精品1区| 91精品亚洲| 久久青草精品一区二区三区| 91蜜芽尤物福利在线观看| 精品三级在线| 97久久超碰极品视觉盛宴| 国产清纯在线一区二区WWW| 97久久精品人人做人人爽| 婷婷伊人久久| 免费精品一区二区h| 国产激爽大片在线播放| 这里只有精品在线播放| 亚洲毛片一级带毛片基地| 欧美激情综合| 国产欧美在线观看一区| 国产一级裸网站| 一本大道在线一本久道| 伊人激情综合| 99re免费视频| 免费看av在线网站网址| 国产精品亚欧美一区二区三区| 91区国产福利在线观看午夜| 久精品色妇丰满人妻| 亚洲av成人无码网站在线观看| 亚洲AV色香蕉一区二区| 亚洲精品第五页| 亚洲精品卡2卡3卡4卡5卡区| 午夜福利在线观看入口| 久久精品最新免费国产成人| 亚洲高清资源| 在线观看国产黄色| 日韩av在线直播| 欧美成人一级| 毛片免费视频| 91久久性奴调教国产免费| 福利片91| 无码综合天天久久综合网| 国产丝袜第一页| 国产精品视频导航|