Tag: webbrowser control

如何通过window.close(javascript)关闭窗口时通知我?

我被要求改装一个围绕IE 9控件构建的自定义Web浏览器。 其中一个要求是必须捕获所有弹出窗口并将其重定向到新选项卡。 客户不希望出现任何浮动独立窗口。 之前的开发人员实现了以下function来捕获这些情况并改为打开一个新选项卡。 public void NewWindow3(ref object ppDisp, ref bool Cancel, uint dwFlags, string bstrUrlContext, string bstrUrl) { BrowserExtendedNavigatingEventArgs args = new BrowserExtendedNavigatingEventArgs(ppDisp, new Uri(bstrUrl), null, (UrlContext)dwFlags); _Browser.OnStartNewWindow(args); Cancel = args.Cancel; ppDisp = args.AutomationObject; } 当其中一个打开的窗口期望能够从javascript调用window.close时,会出现问题。 我希望我可以使用这个function public void WindowClosing(bool isChildWindow, ref bool cancel) 检测javascript调用并关闭选项卡。 但是从不调用此函数。 javascript函数本身似乎有效。 选项卡的内容已清除。 如何检测此方案并关闭选项卡? 请注意,IE9 active x控件不是硬盘要求。 但请不要建议我仅为了互联网的纯度而切换渲染引擎:P。 […]

Wpf WebBrowser刷新

我在我的项目中使用WebBrowser控件。 我注意到如果用户按下右键 – >刷新 Navigating LoadCompleted 不叫。 另一个奇怪的事情是,在我按下刷新并单击webbrowser中的另一个链接之后, LoadCompleted没有被调用。 这就是我在开始时浏览页面的方式: nrowser.Navigate(MYPAGE); 知道可能是什么问题吗? 我能用JavaScript修复它吗?

检查我的WPF WebBrowser中的元素,使用“inspect element(s)”(IE,Chrome,Firefox)获取css路径(“copy css-path”)

我需要来自网页的正确的css路径,该路径将显示在我的WPF应用程序中(稍后将使用HTMLAgilityPack和/或Fizzler)。 像这样的 “复制css-path”或xpath(FireBug)应该是最终目标。 我还发现了一些有趣的post: 堆栈溢出 堆栈溢出 堆栈溢出 CodeProject上 他们都使用“webBrowser.Document.GetElementFromPoint”,“webBrowser.GetElementFromPoint”或“PointToClient”,但我无法在任何库中找到它,甚至在msdn.microsoft(WebBrowser类)上也找不到它 顺便说一句,我使用visual studio 2010工具箱中的“WebBrowserControl”来显示我的网页。 然后我在客户端发现了一些function,但这不是他们想要的东西( javascript )…… 更新时间:6月12日,下午8:15 这实际上是“迪克”的一个不错的post : private void myBrowser_LoadCompleted(object sender, NavigationEventArgs e) { dynamic doc = myBrowser.Document; dynamic htmlText = doc.documentElement.InnerHtml; string htmlstring = htmlText; } 这有效,但这与我的WPF元素无关。 我只得到html而不是相应的元素。 我可以在那个html文档中搜索文本,但是如果它出现不止一次,它就不再是唯一的了。 更新时间:6月13日上午07:15 根据本教程,我找到了一种解决方法。 我在“.xaml”中包含了这个命名空间: xmlns:wf=”clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms” 然后我添加了旧的winforms浏览器: 添加到我的“MainWindow()”一个起始值: MainWindow(){ (wfhSample.Child as System.Windows.Forms.WebBrowser).Navigate(“http://www.google.de/”); } 实际部分,获取元素: /* System.Drawing.Point […]

如何使winforms webbrowser控件与目标Internet Explorer非常相似

我们将winforms webbrowser控件定位到IE8,注册表项为8000。 以下是我们经常遇到的问题 使用webbrowser控件可以看到在IE上看不到的脚本错误。 webbrowser控件上的网页呈现问题,在IE上正常工作 很少有下拉列表无法在webbrowser控件上运行

NavigateToStream。 什么URI(如果有的话)用于解析相对链接?

我有一个WPF应用程序,它使用一个对象来显示一些内容,而这些内容又用HTML包装 – 我想动态生成那个HTML,但它会保存到本地不同类型的静态内容的链接文件。 在普通的Web应用程序中,我会尝试使用相对URI – 它们将相对于动态页面的URI进行查找。 问题是如果我使用WebBrowser.NavigateToStream (或.NavigateToString )。 在这种情况下,用于解析相对链接的“根”URI是什么? 我可以控制它吗? 它固定了吗? 也许相对的Uris在这样的数据流中被禁止。

从C#中的HTML表中检索数据

我想从HTML文档中检索数据。 我正在从我几乎完成的网站上抓取数据,但在尝试从表中检索数据时遇到问题。 这是HTML代码 <TABLE <tBody <table …. </table <table …. </table Service Number Status Status Date 1 Approved 03042014 我必须检索状态字段的数据它已批准并在SQL DB中写入表格标签中有许多表。表没有ID。如何我可以得到正确的表,行和单元这是我的代码 HtmlElement tBody = WB.Document.GetElementById(“middle_column”); if (tBody != null) { string sURL = WB.Url.ToString(); int iTableCount = tBody.GetElementsByTagName(“table”).Count; } for (int i = 0; i <= iTableCount; i++) { HtmlElement tb=tBody.GetElementsByTagName("table")[i]; } 这里出了点问题请帮帮忙。

WebBrowser导航function不起作用,并且不调用处理程序

代码如下。 我试图导航到一个网站并阅读信息,问题是Navigate不起作用,唯一被调用的事件是导航,打印的Url为空,其他事件从未被调用。 我错过了什么? 我必须使用Form类才能导航? 我不能从控制台应用程序以编程方式使用它吗? 请帮忙。 class WebNavigator { private readonly WebBrowser webBrowser; public WebNavigator() { webBrowser = new WebBrowser { AllowNavigation = true }; webBrowser.Navigated += webBrowser_Navigated; webBrowser.Navigating += webBrowser_Navigating; webBrowser.DocumentCompleted += webBrowser_DocumentCompleted; } // Navigates to the given URL if it is valid. public void Navigate(string address) { if (String.IsNullOrEmpty(address)) return; if (address.Equals(“about:blank”)) […]

从WebBrowser控件中删除边框

我有一个WebBrowser控件坐在一个Form上,它周围有一个刺激性的2px嵌入边框。 这导致我的内容被右侧和底部的4像素剪辑,我无法弄清楚如何摆脱它。 控件本身没有任何BorderStyle属性 – 如何删除边框? 查看屏幕截图中的红色区域: 让它停下来! http://img229.imageshack.us/img229/8342/badbadwebbrowser.gif 我希望WebBrowser看起来像蓝色区域 – 也就是说,填充Form并与Form的边缘齐平。

抑制:WinForms WebBrowser的打印输出中的空白

我正在更新一个WinForms应用程序,它使用System.Windows.Forms.WebBrowser输出程序生成的一些HTML内容。 该解决方案工作正常,除了about:blank在每页的页脚中打印。 是否可以抑制输出? 或者,是否有一个简单的替代方法来从WinForms打印没有该问题的HTML? 客户不希望假设存在任何第三方软件,如Excel甚至PDF阅读器。

的RaiseEvent(“平变化”)

我有一个winform和一个WebBrowser控件,我正在更改选择HTML控件中的选项。 webBrowser1.Document .GetElementsByTagName(“select”)[4] .GetElementsByTagName(“option”)[13] .SetAttribute(“selected”, “true”); 现在它可以工作并选择所需的选项,但它不会触发onchange事件。 select没有元素id,但它有一个类名。 我试过了: webBrowser1.Document .GetElementsByTagName(“select”)[4] .RaiseEvent(“onchange”); 和 webBrowser1.Document .GetElementsByTagName(“select”)[4] .GetElementsByTagName(“option”)[13] .RaiseEvent(“onchange”); 但徒劳无功。