from selenium.webdriver.support.ui import WebDriverWait from selenium.common.exceptions import NoSuchElementException, TimeoutException from selenium import webdriver class Base(object): def __init__(self): self.driver = webdriver.Chrome() self.driver.maximize_window() def find_element(self, by, locator, timeout=30): """ :param by: 定位方式 eg:By.ID :param locator: 定位表达式 :param timeout: 显式等待的超时时间 :return: """ try: element = WebDriverWait(self.driver, timeout).until(lambda driver: driver.find_element(by, locator)) # WebDriverWait(self.driver, timeout, 0.5).until(EC.visibility_of_element_located(by, locator)) except(NoSuchElementException, TimeoutException) as e: raise e else: return element def find_elements(self, by, locator, timeout=30): """ :param by: 定位方法eg:By.ID