I have an web application, which generates a JS message
‘Are you sure you want to navigate away from this page?’ when you try to open a new page.
I know I can handle this message by
Selenium.getAlert();
(or some modification of it, I haven’t tried it yet)
But my main problem is that this message generates only when I leave this page.
In selenium I can leave page by using
Selenium.open("new address");
or
Selenium.back();
So I use code like this
Selenium.open("new address");
Selenium.getAlert();
But the problem is that Selenium.open doesn’t finish and go to next code line in program until the new page is fully loaded, but the page can’t be loaded until program goes to next code line and handles this alert. So it’s ablocked situation and I don’t know how to handle it.
I don’t think it can be done, staying entirely within the Selenium RC API. I have cases similar to this that I handle by launching an AutoIt script, before the
open(), that waits for the prompt and answers it. That only works on Windows, but if you need something for other systems, I’m sure there are equivalent tools.Selenium has always had a problem with alerts and confirmations (which this is – a confirmation has an OK/Cancel choice) that occur duing page loading. There’s even an ancient bug number enshrined in one of the error messages that explains that it can’t catch them.