1. 程式人生 > 實用技巧 >driver與元素定位的簡單封裝

driver與元素定位的簡單封裝

from logging import Logger
from selenium import webdriver
from selenium.webdriver.chrome.options import Options


# 建立瀏覽器物件 v1.0:必須判斷,不然其他人不清楚。
def open_browserl(browser_type):
    if browser_type is 'Chrome':
        driver = webdriver.Chrome()
    elif browser_type is 'Firefox':
        driver = webdriver.Firefox()
    
else: driver = webdriver.Chrome() return driver # 建立瀏覽器物件 v2.0:通過 反射機制實現 def open_browser(browser_type): # 新增異常處理機制,確保健壯性 try: if browser_type == 'Chrome': Logger().get_logger().info('Chrome瀏覽器正在啟動......') driver = webdriver.Chrome(options=Options().options_conf())
else: Logger().get_logger().info('{0} 瀏覽器正在啟動中...... format (browser_ type)') driver = getattr(webdriver, browser_type)() except Exception as e: Logger().get_logger().info('出現異常,預設呼叫Chrome瀏覽器,異常資訊: \n{0}'.format(e)) driver = webdriver.Chrome() return driver
class WebUIKeys: def __init__(self, browser_type): self.driver = open_browser(browser_type) # 元素定位,8種定位方式 def locator13(self, loc_type, value): if loc_type is 'xpath': return self.driver.find_element_by_xpath(value) elif loc_type is 'id': return self.driver.find_element_by_id(value) # 元素定位v2.0: 基於元組形式來實現元素定位。 ex:(By.ID, " kw' ) # 傳入的By物件要確保是物件,而非str型別