日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用Selenium自動(dòng)化Web瀏覽器

Selenium 是瀏覽器自動(dòng)化的***工具。使用 Selenium IDE,你可以錄制命令序列(如單擊、拖動(dòng)和輸入),驗(yàn)證結(jié)果并最終存儲(chǔ)此自動(dòng)化測(cè)試供日后使用。這非常適合在瀏覽器中進(jìn)行活躍開(kāi)發(fā)。但是當(dāng)你想要將這些測(cè)試與 CI/CD 流集成時(shí),是時(shí)候使用 Selenium WebDriver 了。

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的紅河哈尼網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

WebDriver 公開(kāi)了一個(gè)綁定了許多編程語(yǔ)言的 API,它允許你將瀏覽器測(cè)試與其他測(cè)試集成。這篇文章向你展示了如何在容器中運(yùn)行 WebDriver 并將其與 Python 程序一起使用。

使用 Podman 運(yùn)行 Selenium

Podman 是下面例子的容器運(yùn)行時(shí)。有關(guān)如何開(kāi)始使用 Podman 的信息,請(qǐng)參見(jiàn)此前文章。

此例使用了 Selenium 的獨(dú)立容器,其中包含 WebDriver 服務(wù)器和瀏覽器本身。要在后臺(tái)啟動(dòng)服務(wù)器容器,請(qǐng)運(yùn)行以下命令:

 
 
 
  1. $ podman run -d --network host --privileged --name server docker.io/selenium/standalone-firefox

當(dāng)你使用特權(quán)標(biāo)志和主機(jī)網(wǎng)絡(luò)運(yùn)行容器時(shí),你可以稍后從在 Python 中連接到此容器。你不需要使用 sudo

在 Python 中使用 Selenium

現(xiàn)在你可以提供一個(gè)使用此服務(wù)器的簡(jiǎn)單程序。這個(gè)程序很小,但應(yīng)該會(huì)讓你知道可以做什么:

 
 
 
  1. from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
  2.  
  3. server ="http://127.0.0.1:4444/wd/hub"
  4.  
  5. driver = webdriver.Remote(command_executor=server,
  6. desired_capabilities=DesiredCapabilities.FIREFOX)
  7.  
  8. print("Loading page...")
  9. driver.get("https://fedoramagazine.org/")
  10. print("Loaded")
  11. assert "Fedora" in driver.title
  12.  
  13. driver.quit()
  14. print("Done.")

首先,程序連接到你已經(jīng)啟動(dòng)的容器。然后它加載 Fedora Magazine 網(wǎng)頁(yè)并判斷 “Fedora” 是頁(yè)面標(biāo)題的一部分。***,它退出會(huì)話。

需要 Python 綁定才能運(yùn)行此程序。既然你已經(jīng)在使用容器了,為什么不在容器中這樣做呢?將以下內(nèi)容保存到 Dockerfile 中:

 
 
 
  1. FROM fedora:29
  2. RUN dnf -y install python3
  3. RUN pip3 install selenium

然后使用 Podman 在與 Dockerfile 相同的文件夾中構(gòu)建容器鏡像:

 
 
 
  1. $ podman build -t selenium-python .

要在容器中運(yùn)行程序,在運(yùn)行容器時(shí)將包含 Python 代碼的文件作為卷掛載:

 
 
 
  1. $ podman run -t --rm --network host \
  2. -v $(pwd)/browser-test.py:/browser-test.py:z \
  3. selenium-python python3 browser-test.py

輸出看上去像這樣:

 
 
 
  1. Loading page...
  2. Loaded
  3. Done.

接下來(lái)做什么

上面的示例程序是最小的,也許沒(méi)那么有用。但這僅僅是最表面的東西!查看 Selenium 和 Python 綁定 的文檔。在那里,你將找到有關(guān)如何在頁(yè)面中查找元素、處理彈出窗口或填寫(xiě)表單的示例。拖放也是可能的,當(dāng)然還有等待事件。

在實(shí)現(xiàn)一些不錯(cuò)的測(cè)試后,你可能希望將它們包含在 CI/CD 流程中。幸運(yùn)的是,這是相當(dāng)直接的,因?yàn)橐磺卸际侨萜骰摹?/p>

你可能也有興趣設(shè)置 grid 來(lái)并行運(yùn)行測(cè)試。這不僅有助于加快速度,還允許你同時(shí)測(cè)試多個(gè)不同的瀏覽器。

清理

當(dāng)你容器使用完后,可以使用以下命令停止并刪除獨(dú)立容器:

 
 
 
  1. $ podman stop server
  2. $ podman rm server

如果你還想釋放磁盤(pán)空間,請(qǐng)運(yùn)行以下命令刪除鏡像:

 
 
 
  1. $ podman rmi docker.io/selenium/standalone-firefox
  2. $ podman rmi selenium-python fedora:29

總結(jié)

在本篇中,你已經(jīng)看到使用容器技術(shù)開(kāi)始使用 Selenium 是多么容易。它允許你自動(dòng)化與網(wǎng)站的交互,以及測(cè)試交互。Podman 允許你在沒(méi)有超級(jí)用戶權(quán)限或 Docker 守護(hù)程序的情況下運(yùn)行所需的容器。***,Python 綁定允許你使用普通的 Python 代碼與瀏覽器進(jìn)行交互。 


本文名稱:使用Selenium自動(dòng)化Web瀏覽器
文章路徑:http://www.5511xx.com/article/djehjso.html