/// <summary> /// Adds a navigation bar to the provided control (synced with the provided WatiN_IE object) /// </summary> /// <param name="watinIe"></param> /// <param name="control"></param> /// <returns></returns> public static WatiN_IE add_NavigationBar(this WatiN_IE watinIe, Control control) { if (watinIe.isNull()) { return(watinIe); } var urlTextBox = control.insert_Above(20) .add_TextBox("Url:", "") .onEnter((text) => watinIe.open_ASync(text)) .onTextChange((text) => { if (text.contains("".line())) { watinIe.open_ASync(text); } }); watinIe.onNavigate((url) => urlTextBox.set_Text(url)); return(watinIe); }
public static string open_and_HandleFileDownload(this WatiN_IE watinIe, string url, string fileName) { var tmpFile = fileName.tempFile(); var waitUntilHandled = 20; var waitUntilDownload = 300; var fileDownloadHandler = watinIe.dialogHandler <FileDownloadHandler>(); if (fileDownloadHandler.notNull()) { watinIe.IE.RemoveDialogHandler(fileDownloadHandler); } fileDownloadHandler = new FileDownloadHandler(tmpFile); watinIe.IE.AddDialogHandler(fileDownloadHandler); fileDownloadHandler.field("saveAsFilename", tmpFile); fileDownloadHandler.field("hasHandledFileDownloadDialog", false); watinIe.open_ASync(url); try { fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(waitUntilHandled); "after: {0}".info("WaitUntilFileDownloadDialogIsHandled"); fileDownloadHandler.WaitUntilDownloadCompleted(waitUntilDownload); "after: {0}".info("WaitUntilDownloadCompleted"); } catch (Exception ex) { "[WatiN_IE][open_and_HandleFileDownload] {0}".error(ex.Message); } if (fileDownloadHandler.SaveAsFilename.fileExists()) { "[WatiN_IE] downloaded ok '{0}' into '{1}'".info(url, fileDownloadHandler.SaveAsFilename); watinIe.IE.RemoveDialogHandler(fileDownloadHandler); return(fileDownloadHandler.SaveAsFilename); } "[WatiN_IE] failed to download '{0}' ".info(url); return(null); }