So I there is this button I want to click and if it's the first time you've clicked it. A javascript alert popup will appear. I've been using firebug and just can't find where that javascript is located and I've tried
if EC.alert_is_present:
driver.switch_to_alert().accept()
else:
print("no alert")
the above code works if there is an alert box but will throw an error if there is none. even though there is an else statement I've even tried
if EC.alert_is_present:
driver.switch_to_alert().accept()
elif not EC.alert_is_present:
print("no alert")
it throws me this error
selenium.common.exceptions.NoAlertPresentException: Message: No alert is present
how do we get around this?
This is how you do it:
You can replace
pass
with aprint
statement if you wish. Note the use ofswitch_to.alert
rather thanswitch_to_alert()
. The latter has been deprecated for a while. In the version of Selenium I have here, I see this in its code:Use try catch and if the Alert is not present catch
NoAlertPresentException
exception: