def get_report(browser: webdriver.WebDriver): browser.set_page_load_timeout(10) elv_mngmnt_drpdwn = browser.find_element_by_xpath( wbm_cfg.drpdwn_elvr_mngmnt_xpath) elv_mngmnt_drpdwn.click() element = WebDriverWait(browser, 5).until( EC.element_to_be_clickable((By.XPATH, wbm_cfg.btn_downl_report_xpath))) element.click() time.sleep(5) logging.info("Report file download is started")
def firefox(path='./geckodriver.exe', profile=None) -> WebDriver: """ Firefox :param path: Firefox Driver路径 :param profile: Firefox设置 :return: WebDriver """ dr = Firefox(executable_path=path, firefox_profile=profile) dr.set_page_load_timeout(30) dr.implicitly_wait(10) dr.maximize_window() return dr
def go_to_page(browser: webdriver.WebDriver, url, test_element_xpath): if browser.current_url != url: browser.set_page_load_timeout(3) try: browser.get(url) except TimeoutException: try: browser.set_page_load_timeout(10) browser.get(url) except TimeoutException: logging.error("The URL " + url + " is unreachable") browser.close() wait_for_page(browser, url, test_element_xpath)
def login(browser: webdriver.WebDriver): browser.set_page_load_timeout(5) try: browser.get(wbm_cfg.homepage_url) except WebDriverException: browser.refresh() finally: pyautogui.typewrite(wbm_cfg.login_user_value) pyautogui.typewrite("\t") pyautogui.typewrite(wbm_cfg.login_pw_value) pyautogui.typewrite("\n") logging.info("Login executed") wait_for_page(browser, wbm_cfg.homepage_url, wbm_cfg.main_page_attr_xpath)