Самое простое решение - запустить эту функцию, скажем, каждую секунду, таким образом «ожидая» появления всплывающего окна:
setInterval(PopClick, 1000);
Также лучше переписать PopClick, чтобы проверить, есть ли элемент, перед вызовом click, как здесь:
function PopClick () {
var PopBtn1=document.getElementById("ctl00_mainContentPlaceholder_Button3");
if(PopBtn1) {
PopBtn1.click ();
// It is also makes sense to clear interval here. see docs for setInterval/clearInterval please :)
}
};
Может быть, это поможет вам с проблемой замораживания.
Однако более правильным способом было бы настроить MutationEvent listener. Поскольку вы используете Firefox, он должен работать нормально:
function click_if_popup(evt) {
if(evt.target.hasAttribute('id') && evt.target.getAttrubute('id') =="ctl00_mainContentPlaceholder_Button3")
evt.target.click();
}
document.addEventListener('DOMNodeInsertedIntoDocument', click_if_popup);
Извините, я не тестировал этот код: я просто хотел дать вам общее представление о том, где копать.