一、那些情況下需要復(fù)用瀏覽器
1.當(dāng)運(yùn)行 selenium 自動(dòng)化時(shí),要求已經(jīng)登錄才能才做。這個(gè)時(shí)候我們可以提前登錄,運(yùn)行腳本的時(shí)候復(fù)用已經(jīng)打開的瀏覽器。
2.當(dāng)調(diào)試了某個(gè)步驟很多的測(cè)試用例,前面N-1步已經(jīng)成功,只需調(diào)試第N步。如果從頭開始運(yùn)行腳本,耗時(shí)過多,這時(shí)我們可以直接復(fù)用瀏覽器只操作第N步。
復(fù)用瀏覽器的特點(diǎn):
webdriver啟動(dòng)時(shí)將不再創(chuàng)建新的瀏覽器窗口 將運(yùn)用已打開的瀏覽器的當(dāng)前頁(yè)面,對(duì)元素的進(jìn)行操作 。
二、復(fù)用瀏覽器前的設(shè)置
1.把Chrome配置到環(huán)境變量PATH里面
方法:找到瀏覽器圖標(biāo),右鍵->屬性,把“目標(biāo)”里面chrome.exe前面的路徑配置到PATH里面
2.在通過命令啟動(dòng)遠(yuǎn)程調(diào)試的chrome之前,需要關(guān)閉chrome有關(guān)的進(jìn)程,除了chrome瀏覽器之外,還有chrome后臺(tái)進(jìn)程、瀏覽器插件等
注意:chrome設(shè)置-高級(jí)-系統(tǒng),里面有一項(xiàng)設(shè)置可以關(guān)閉掉再試一下,能解決不少后臺(tái)進(jìn)程問題
3.啟動(dòng)命令(需要復(fù)用的網(wǎng)頁(yè)一定要放在最前面)
Windows/Linux命令為:
chrome --remote-debugging-port=9222 (9222為端口號(hào),可換成任意未被占用的端口)
Mac命令為:
Google\ Chrome --remote-debugging-port=9222 (9222為端口號(hào),可換成任意未被占用的端口) (注意命令中間的反斜線)
4.訪問瀏覽器 http://localhost:9222/查看瀏覽器是否啟動(dòng),出現(xiàn)類似以下界面表示啟動(dòng)成功文章來源:http://www.zghlxwxcb.cn/news/detail-406483.html
三、復(fù)用瀏覽器的代碼
1.定義一個(gè)Chrome的選項(xiàng)
chrome_options = Options()
2.設(shè)置Chrome的復(fù)用地址(復(fù)用之前一定要通過命令行啟動(dòng)瀏覽器:chrome --remote-debugging-port=9222)
chrome_options.debugger_address = “127.0.0.1:9222”
3.創(chuàng)建Chrome復(fù)用對(duì)象
self.driver = webdriver.Chrome(options=chrome_options)文章來源地址http://www.zghlxwxcb.cn/news/detail-406483.html
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
class TestReuse:
def setup(self):
chrome_options = Options()
# 和瀏覽器打開的調(diào)試端口進(jìn)行通信,瀏覽器使用chrome --remote-debugging-port=9222 開啟調(diào)試
chrome_options.debugger_address = "127.0.0.1:9222"
self.driver = webdriver.Chrome(options=chrome_options)
def test_chrome_reuse(self):
# 使用已經(jīng)打開的瀏覽器(已經(jīng)成功登錄),打開百度首頁(yè)頁(yè),然后進(jìn)行和用戶有關(guān)的操作
self.driver.get("https://www.baidu.com/")
# 點(diǎn)擊用戶圖標(biāo),進(jìn)入個(gè)人中心
self.driver.find_element_by_class_name("s-top-img-wrapper").click()
sleep(5)
到了這里,關(guān)于Chrome瀏覽器的復(fù)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!