1. 程式人生 > >webdriver 啟動各種瀏覽器

webdriver 啟動各種瀏覽器

  1. # -*- coding:utf-8 -*-
    import os
  2. import selenium
  3. from selenium import webdriver
  4. from selenium.webdriver.common.keys import Keys
  5. """
  6. 練習啟動各種瀏覽器:Firefox, Chrome, IE
  7. 練習啟動各種瀏覽器的同時載入外掛:Firefox, Chrome, IE
  8. """
    def startFirefox():
  9.     """啟動安裝在預設位置的Firefox瀏覽器,並自動轉到 百度 首頁"""
  10.     driver = webdriver.Firefox()
  11. def startFirefoxWithSpecificLocation():
  12.     """啟動安裝在 非 預設位置的Firefox瀏覽器,並自動轉到 百度 首頁"""
  13.     firefoxBin = os.path.abspath(r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
  14.     os.environ["webdriver.firefox.bin"] = firefoxBin 
        driver = webdriver.Firefox()
  15. def startChrome():
  16.     """啟動Chrome瀏覽器,並自動轉到 百度 首頁
  17.     啟動Chrome瀏覽器需要指定驅動的位置
  18.     """
        chrome_driver = os.path.abspath(r"D:\雲盤\360雲\360雲盤\Selenium2\課程\Selenium_python\Files\chromedriver.exe")
        os.environ["webdriver.chrome.driver"] = chrome_driver
  19.     driver = webdriver.Chrome(chrome_driver)
  20. def startIE():
  21.     """啟動IE瀏覽器,並自動轉到 百度 首頁    啟動 IE 瀏覽器需要指定驅動的位置
  22.     """
  23.     ie_driver = os.path.abspath(r"D:\雲盤\360雲\練習程式碼_Python版本\Selenium_python\Files\IEDriverServer.exe")
  24.     os.environ["webdriver.ie.driver"] = ie_driver    
  25.     driver = webdriver.Ie(ie_driver)
  26.     '''   
     
  27. def start_firefox_with_firebug_plug():
  28.     """啟動Firefox,並自動載入外掛Firebug"""
  29.     firefoxBin = os.path.abspath(r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
  30.     os.environ["webdriver.firefox.bin"] = firefoxBin   
  31.     firefoxProfile = webdriver.FirefoxProfile()
  32.     tempDir = os.getcwd()
  33.     tempDir = os.path.split(tempDir)[0]
  34.     firebugPlugFile = os.path.join(os.path.join(tempDir,"Files"), "firebug-2.0.7.xpi")   
  35.     firefoxProfile.add_extension(firebugPlugFile)
  36.     firefoxProfile.set_preference("extensions.firebug.currentVersion", "2.0.7")
  37.     driver = webdriver.Firefox(firefox_profile=firefoxProfile)
  38. def start_chrome_with_chrometomobile_plug():
  39.     """啟動Chrome,並自動載入外掛Chrome to Mobile"""
  40.     tempDir = os.getcwd()
  41.     tempDir = os.path.split(tempDir)[0]
  42.     chrome_driver_file = os.path.join(os.path.join(tempDir,"Files"), "chromedriver.exe") 
        os.environ["webdriver.chrome.driver"] = chrome_driver_file   
        chrome_to_mobile_plug_file =  os.path.join(os.path.join(tempDir,"Files"), "Chrome-to-Mobile_v3.3.crx")
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_extension(chrome_to_mobile_plug_file)
        driver = webdriver.Chrome(executable_path=chrome_driver_file, 
    chrome_options=chrome_options)
  43.     '''

  44. def start_firefox_with_default_settings():
  45.     """啟動Firefox瀏覽器, 使用本地配置檔案中的選項配置瀏覽器 自動將頁面載入過程匯出為Har檔案,並存放在
  46.     配置項 extensions.firebug.netexport.defaultLogDir指定的D:\temp\selenium2目錄下    
        """
  47.     firefox_bin = os.path.abspath(r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
  48.     os.environ["webdriver.firefox.bin"] = firefox_bin
  49.     # 使用從別的機器上拷貝來的瀏覽器配置
  50.     firefox_profile = webdriver.FirefoxProfile(os.path.abspath(r"D:\Temp\selenium2\Profiles\mm9zxom8.default"))
  51.     # 使用本地的預設配置
  52.     #firefox_profile = webdriver.FirefoxProfile(r"C:\Users\eli\AppData\Roaming\Mozilla\Firefox\Profiles\mm9zxom8.default")
       driver = webdriver.Firefox(firefox_profile=firefox_profile)
        driver.get(http://www.baidu.com)
        '''

  53. def start_chrome_with_default_settings():
        """啟動Firefox瀏覽器, 使用本地配置檔案中的選項配置瀏覽器"""
        tempDir = os.getcwd()
        tempDir = os.path.split(tempDir)[0]
        chrome_driver = chrome_driver_file = os.path.join(os.path.join(tempDir,"Files"), "chromedriver.exe")        
        os.environ["webdriver.chrome.driver"] = chrome_driver
  54.     chrome_options = webdriver.ChromeOptions()
  55.     chrome_options.add_argument("--test-type")
  56.     #chrome_options.add_argument("user-data-dir="+os.path.abspath(r"D:\Temp\selenium2\User Data"))
       chrome_options.add_argument("user-data-dir="+os.path.abspath(r"C:\Users\eli\AppData\Local\Google\Chrome\User Data"))
        driver = webdriver.Chrome(executable_path=chrome_driver, chrome_options=chrome_options)
  57. if __name__ == "__main__":  
  58.     # 2.啟動瀏覽器時自動載入外掛, 如Firefox -> Firebug ; Chrome -> Chrome to Mobile
  59.     # start_firefox_with_firebug_plug()
  60.     # start_chrome_with_chrometomobile_plug()
  61.     # start_firefox_with_default_settings()
  62.     start_chrome_with_default_settings()
  63.     # 1.啟動各種瀏覽器
  64.     #startFirefox()
  65.     #startFirefoxWithSpecificLocation()
  66.     #startChrome()
  67.     #startIE()