selenium的原理是什麼?
selenium的原理涉及到3個部分,分別是
- 瀏覽器
- driver: 一般我們都會下載driver
- client: 也就是我們寫的代碼
client其實並不知道瀏覽器是怎麼工作的,但是driver知道,在selenium啓動以後,driver其實充當了服務器的角色,跟client和瀏覽器通信,client根據webdriver協議發送請求給driver,driver解析請求,並在瀏覽器上執行相應的操作,並把執行結果返回給client。這就是selenium工作的大致原理。
webdriver的協議是什麼?
client與driver之間的約定,無論client是使用java實現還是c#實現,只要通過這個約定,client就可以準確的告訴drier它要做什麼以及怎麼做。
webdriver協議本身是http協議,數據傳輸使用json。
這裏-https://www.w3.org/TR/webdriver/#list-of-endpoints
有webdriver協議的所有endpoint,稍微看一眼就知道這些endpoints涵蓋了selenium的所有功能。
啓動瀏覽器的時候用到的是哪個webdriver協議?
New Session-https://www.w3.org/TR/webdriver/#new-session
,如果創建成功,返回sessionId和capabilities