def testGETXSSDriver(url: str, cookies: Mapping[str, str], driver: webdriver) -> Optional[str]: """ If the given URL pops an alert box when accessed with the given cookies, return the contents of the alert box, otherwise return None """ driver.setCookies(url, cookies) try: driver.get(url) WebDriverWait(driver, config.timeout).until(expected_conditions.alert_is_present()) # Note that despite the name switch_to_alert also handles prompt: # - http://selenium-python.readthedocs.io/navigating.html#popup-dialogs alert = driver.switch_to_alert() text = alert.text driver.reset() return text except (TimeoutException, URLError): driver.reset() return None
def auto_alert_accept(driver: webdriver): """Checking js-alert and accpet This method wrapped by try-catch block. Except: NoAlertPresentException return values: No exception = True, Exception occured = False """ try: result = driver.switch_to_alert() result.accept() return True except NoAlertPresentException: """ There was no js-alert""" print("There is no js-alert") return False except Exception as e: """ Unexpected exception""" print("Unexpected except") assert e.__class__.__name__ == 'NameError' return False