Selenium Grid的原理、配置與使用

Selenium Grid工作原理

Selenium Grid實際它是基于Selenium RC的,而所謂的分布式結(jié)構(gòu)就是由一個hub節(jié)點和若干個node代理節(jié)點組成。Hub用來管理各個代理節(jié)點的注冊信息和狀態(tài)信息,并且接受遠程客戶端代碼的請求調(diào)用,然后把請求的命令轉(zhuǎn)發(fā)給代理節(jié)點來執(zhí)行。下面結(jié)合環(huán)境部署來理解Hub與node節(jié)點的關(guān)系。

Selenium Grid環(huán)境部署

1.下載Jar包

下載地址:http://selenium-release.storage.googleapis.com/index.html
與你使用的selenium 版本一致

1.下面是我自己在用的selenium版本
image.png
2.下面是我下載下來的Jar包
3. chromedriver.exe與geckodriver.exe 在環(huán)境變量中,并分別運行下面的代碼調(diào)試成功。

調(diào)試代碼

#火狐瀏覽器
from selenium import webdriver
from time import sleep

#driver在環(huán)境變量中,此步可注釋掉
driver =webdriver.Firefox(executable_path=r'D:\opt\geckodriver.exe')

driver.get('https://www.baidu.com/')

driver.find_element_by_id('su').click()

sleep(3)

#谷歌瀏覽器
from selenium import webdriver
from time import sleep

##driver在環(huán)境變量中,此步可注釋掉
driver =webdriver.Chrome(executable_path=r'D:\opt\chromedriver.exe')

driver.get('https://www.baidu.com/')

driver.find_element_by_id('su').click()

sleep(3)

2.啟動hub

java  -jar selenium-server-standalone-3.141.0.jar -role hub -maxSession 10  -port 4444

3.啟動node

java -jar selenium-server-standalone-3.141.0.jar -role node -hub http://localhost:4444/grid/register/ -port 5555

4.編寫代碼

#線程調(diào)用,執(zhí)行代碼
import  time
import threading
from selenium import webdriver

def get(driver):
    driver.get('https://www.baidu.com/')
    driver.find_element_by_id('kw').send_keys('123')
    driver.find_element_by_id('su').click()

def get_driver(browser):
    cap=None
    if  browser == "chrome":
        cap=webdriver.DesiredCapabilities.CHROME.copy()
    elif browser == 'firefox':
        cap = webdriver.DesiredCapabilities.FIREFOX.copy()
###學習的時候,看人家用的是端口時4444,這里我有個疑問
    return  webdriver.Remote('http://127.0.0.1:5555/wd/hub',desired_capabilities =cap)

browsers=['chrome',"firefox"]
for i in browsers:
    driver=get_driver(i)
    threading.Thread(target=(get),args=(driver,)).start()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容