c# - Watin & IE9 - Cant click ok buttons -
i'm using watin navigate through large number of different websites, , i'm using great solution here automatically click ok on javascript , ie boxes popup.
the problem is, solution works great ie6-ie8, no longer works ie9.
does have suggestions on how ie9 auto click/close prompts?
(i'm using latest watin release, , code below)
public class { public something() { ie browser = new ie("about:blank"); addhandlers(browser); .. stuff browser } //just click ok private void addhandlers(browser browser) { browser.adddialoghandler(new watin.core.dialoghandlers.alertandconfirmdialoghandler()); browser.adddialoghandler(new watin.core.dialoghandlers.alertdialoghandler()); browser.adddialoghandler(new watin.core.dialoghandlers.certificatewarninghandler()); browser.adddialoghandler(new watin.core.dialoghandlers.closeiedialoghandler(false)); browser.adddialoghandler(new watin.core.dialoghandlers.confirmdialoghandler()); browser.adddialoghandler(new watin.core.dialoghandlers.dialoghandlerhelper()); browser.adddialoghandler(new watin.core.dialoghandlers.filedownloadhandler("me.htm")); browser.adddialoghandler(new watin.core.dialoghandlers.fileuploaddialoghandler("me.htm")); browser.adddialoghandler(new watin.core.dialoghandlers.printdialoghandler(watin.core.dialoghandlers.printdialoghandler.buttonsenum.cancel)); browser.adddialoghandler(new watin.core.dialoghandlers.promptdialoghandler(false)); browser.adddialoghandler(new watin.core.dialoghandlers.refreshwarningdialoghandler(false)); browser.adddialoghandler(new watin.core.dialoghandlers.returndialoghandler()); browser.adddialoghandler(new watin.core.dialoghandlers.securityalertdialoghandler()); browser.adddialoghandler(new watin.core.dialoghandlers.simplejavadialoghandler()); browser.adddialoghandler(new watin.core.dialoghandlers.securityalertdialoghandler()); browser.adddialoghandler(new watin.core.dialoghandlers.alertdialoghandler()); browser.adddialoghandler(new watin.core.dialoghandlers.simplejavadialoghandler()); browser.adddialoghandler(new okdialoghandler()); } } public class okdialoghandler : watin.core.dialoghandlers.basedialoghandler { public override bool handledialog(window window) { var button = getokbutton(window); button.click(); return false; } public override bool canhandledialog(window window) { return getokbutton(window) != null; } private winbutton getokbutton(window window) { var windowbutton = new windowsenumerator().getchildwindows(window.hwnd, w => w.classname == "button" && new winbutton(w.hwnd).title == "ok").firstordefault(); if (windowbutton == null) return null; else return new winbutton(windowbutton.hwnd); } }
watin 2.1 has been released addresses number of ie9 issues. can download http://watin.org/ or update using nuget:
pm> update-package watin
Comments
Post a Comment