c# selenium chrome 文件下载_Selenium 框架原理以及环境安装
Selenium 框架原理
圖片來自轉(zhuǎn)載
藍(lán)色的圖Selenium Language Binding就是我們平時(shí)使用的編碼語(yǔ)言,包括java、python、C#等。可以看到這些語(yǔ)言并沒有直接與Browser Drivers進(jìn)行通信,而是通過了JSON WireProtocol,這就是webdriver協(xié)議 ,詳情請(qǐng)參考https://www.w3.org/TR/webdriver/ 。
簡(jiǎn)單的說他定義了一套接口規(guī)范,以我們最熟悉的點(diǎn)擊操作為例,他對(duì)應(yīng)的接口協(xié)議是:POST /session/{session id}/element/{element id}/click
這樣以來,無論我們編碼使用python代碼來執(zhí)行點(diǎn)擊操作:
driver.find_element_by_id("").click()
還是以java代碼執(zhí)行點(diǎn)擊操作:
driver.findElement(By.id("")).click();
都會(huì)通過selenium客戶端的程序?qū)lick操作轉(zhuǎn)化成對(duì)應(yīng)的webdriver協(xié)議。這樣對(duì)于Browser Drivers來說只需要解析具體協(xié)議,而無需關(guān)注客戶端使用的是哪種代碼了,這就是selenium支持多種語(yǔ)言的原理。
在Browser Drivers中可以看到各個(gè)瀏覽器的driver,這里我們以chromedriver為例進(jìn)行講解。在代碼中直接 new ChromeDriver() 將會(huì)啟動(dòng)一個(gè) ChromeDriver進(jìn)程,ChromeDriver是一個(gè)獨(dú)立的服務(wù),它是 google為網(wǎng)站開發(fā)人員提供的自動(dòng)化測(cè)試接口,它是 selenium 和chrome瀏覽器進(jìn)行通信的橋梁。chromeDriver解析webdriver協(xié)議,然后根據(jù)解析結(jié)果,調(diào)用與之對(duì)應(yīng)的Remote Debugging協(xié)議來操控chrome瀏覽器,它可以和瀏覽器內(nèi)核進(jìn)行交互進(jìn)而操控瀏覽器,以上就是selenium操控chrome瀏覽器的原理。
以此類推,大家就會(huì)了解為什么使用selenium2和3操控不同的瀏覽器,需要先下載與其對(duì)應(yīng)的瀏覽器driver了。(轉(zhuǎn)載鏈接:https://www.jianshu.com/p/3fedd8321c75)
Selenium 環(huán)境安裝
1.selenium 是第三方庫(kù),如果自動(dòng)化框架是python寫的(暫時(shí)以python為例),那么可以用pip 安裝selenium
2.安裝webdriver驅(qū)動(dòng)
上網(wǎng)找各個(gè)瀏覽器對(duì)應(yīng)版本的webdriver驅(qū)動(dòng),下載安裝,添加到環(huán)境變量中。
IE瀏覽器驅(qū)動(dòng)_______下載地址:http://docs.seleniumhq.org/download/
Firfox瀏覽器驅(qū)動(dòng)____下載地址:https://github.com/mozilla/geckodriver/releases
Chrome瀏覽器驅(qū)動(dòng)__下載地址:http://chromedriver.storage.googleapis.com/index.html
Edge瀏覽器驅(qū)動(dòng)____下載地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
總結(jié)
以上是生活随笔為你收集整理的c# selenium chrome 文件下载_Selenium 框架原理以及环境安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jmeter mysql查询结果提取_J
- 下一篇: c# 审批流引擎_小熊OA:流程引擎才能