前言
有時候一些業(yè)務(wù)的功能涉及到多個系統(tǒng),需要在web系統(tǒng)1打開造一些數(shù)據(jù),然后用到某些參數(shù)是動態(tài)生成的,需要調(diào)用web系統(tǒng)2里面的參數(shù)。 舉個簡單例子:在做某些業(yè)務(wù)的時候,需要手機短信驗證碼,我不可能去搞個手機連著電腦吧,那樣太傻,我們的目的是獲取短信驗證碼,短信驗證碼都有短信平臺去查詢。 當然能直接操作數(shù)據(jù)庫最簡單了,用python連數(shù)據(jù)庫直接通過sql去查就行。
一、啟動兩個driver
1.如果我想啟動2個火狐,一個火狐打開百度,另外一個火狐打開博客園,我們只需用2個實例driver去控制就行
(注意:不要兩個都叫driver,要不然后面的會覆蓋前面的,導致無法繼續(xù)操作前面那個瀏覽器窗口了)
2.運行后結(jié)果,桌面啟動2個窗口,一個打開了百度,一個打開了上海-悠悠 博客園
二、關(guān)掉窗口
1.driver1是控制第一個瀏覽器窗口的實例參數(shù),driver2是控制第二個窗口的實例參數(shù),如果想關(guān)掉第一個,driver1.quit()就行了
2.quit掉第一個瀏覽器窗口后,前面那個瀏覽器窗口就無法操作了,這里可以接著操作第二個瀏覽器窗口 # coding:utf-8 from selenium import webdriver import time
# 啟動第一個瀏覽器 driver1 = webdriver.Firefox() driver1.get("https://www.baidu.com") print(driver1.title)
# 啟動第二個瀏覽器 driver2 = webdriver.Firefox() driver2.get("http://www.cnblogs.com/yoyoketang/") print(driver2.title)
# 關(guān)掉第一個瀏覽器窗口 driver1.quit()
# 點首頁"博客園"按鈕 driver2.find_element_by_id("blog_nav_sitehome").click() time.sleep(2) print(driver2.title) 三、封裝啟動瀏覽器方法
1.如果涉及到不同的瀏覽器(如Firefox、chrome)之間的切換,我們可以專門寫一個函數(shù)去啟動不同瀏覽器
四、參考代碼 # coding:utf-8 from selenium import webdriver
def browser(browser='firefox'): ''' open browser "firefox"、"chrome"、"ie"、"phantomjs" usage: driver = broswer("chrome") ''' try: if browser == "firefox": driver = webdriver.Firefox() return driver elif browser == "chrome": driver = webdriver.Chrome() return driver elif browser == "ie": driver = webdriver.Ie() return driver elif browser == "phantomjs": driver = webdriver.PhantomJS() return driver else: print("Not found browser!You can enter 'firefox', 'chrome', 'ie' or 'phantomjs'") except Exception as msg: print "open browser error:%s" % msg
if __name__ == "__main__": # 默認啟動firefox driver_firefox = browser() driver_firefox.get("https://www.baidu.com") print("open browser:%s" % driver_firefox.name) print(driver_firefox.title)
# 啟動第phantomjs driver_pj = browser("phantomjs") driver_pj.get("http://www.cnblogs.com/yoyoketang/") print("open browser:%s" % driver_pj.name) print(driver_pj.title)
《selenium高級自動化》已出書,閱讀全本可以購買此書(點左下角閱讀原文)https://yuedu.baidu.com/ebook/0f6a093b7dd184254b35eefdc8d376eeaeaa17e3
|