Błąd Webdrivera: „Brak alarmu” po zgłoszeniu UnexpectedAlertPresentException

Próbuję przetestować rozwijaną aplikację internetową. Używam sterownika Firefox przeciwko Firefoksowi 22.0.

W pewnym momencie może pojawić się modalne okno dialogowe (monit JavaScript ()). Jeśli tak, chcę wprowadzić jakiś tekst, a następnie go odrzucić (kliknij OK).

Oto odpowiedni kod:

try:
    if button.text == "Run":
        button.click()
except UnexpectedAlertPresentException:
    alert = self.driver.switch_to_alert()
    print alert.text
    alert.send_keys('8080')
    alert.dismiss()

TheUnexpectedAlertPresentException jest rzucony. Jednak jak tylko spróbuje wykonaćprint alert.text, Dostaję:

`NoAlertPresentException: Message: u'No alert is present'`.

Jeśli usuwam instrukcję drukowania, wybuchnie walert.send_keys z:

`WebDriverException: Message: u'fxdriver.modals.find_(...) is null'`

Nie rozumiem tego. Nie jestNoAlertPresentException z definicji sprzeczne zUnexpectedAlertPresentException który został rzucony i spowodował wykonanie bloku wyjątkiem?

Edytuj: Również nie mogę przez całe życie znaleźć żadnej dokumentacji na tematUnexpectedAlertPresentException whttp://selenium.googlecode.com/svn/trunk/docs/api/py/index.html#documentation

Edytuj 2: oto, co mam teraz:

try:
    if button.text == "Run":
        button.click()

        alert = self.driver.switch_to_alert()

        alert.send_keys('1111')
        alert.dismiss()

 except NoAlertPresentException:
     pass

Jednak nadal to widzę:

WebDriverException: Message: u'fxdriver.modals.find_(...) is null' 

na liniialert.send_keys('8080'). Chyba nie rozumiem dlaczegoswitch_to_alert() nie rzucaNoAlertPresent jeśli nie ma ostrzeżenia ... to właśnie zakładamWebDriverException wskazuje.

questionAnswers(3)

yourAnswerToTheQuestion