Tag: 浏览器

异步/等待.NET的WebBrowser类的实现

长期读者,这里的第一次海报。 我的目标:在使用WebBrowser类时能够利用async / await。 由于WebBrowser.Navigate(string url)是一个异步方法,因此在触发LoadComplete事件之前无法检查html文档。 到目前为止,这是我的(工作)代码: public class AsyncWebBrowser { protected WebBrowser m_WebBrowser; private ManualResetEvent m_MRE = new ManualResetEvent(false); public void SetBrowser(WebBrowser browser) { this.m_WebBrowser = browser; browser.LoadCompleted += new LoadCompletedEventHandler(WebBrowser_LoadCompleted); } public Task NavigateAsync(string url) { Navigate(url); return Task.Factory.StartNew((Action)(() => { m_MRE.WaitOne(); m_MRE.Reset(); })); } public void Navigate(string url) { m_WebBrowser.Navigate(new Uri(url)); } […]

单击WebBrowser控件内的HTML链接

C#Visual Studio 2010 我正在将一个复杂的html页面加载到webbrowser控件中。 但是,我没有能力修改网页。 我想从Windows窗体自动单击页面上的链接。 但是,每次加载页面时,ID似乎是随机生成的(因此我认为引用ID不起作用)。 这是一个href链接的内容: <a id=”u_lp_id_58547″ href=”javascript:void(0)” class=”SGLeftPanelText” onclick=”setStoreParams(‘cases;212’, 212); window.leftpanel.onClick(‘cases_ss_733’);return false; “> My Assigned 无论如何点击C#中的链接? 谢谢! 更新: 我觉得这很接近,但它不起作用: HtmlElementCollection links = helpdeskWebBrowser.Document.Window.Frames[“main_pending_events_frame”].Document.GetElementsByTagName(“a”); MessageBox.Show(links.Count.ToString()); 我已经尝试插入每个帧名称并在TagName字段中尝试了“a”和“A”,但是没有任何运气。 我找不到任何链接; 消息框始终为0.我缺少什么?

从Web浏览器控件中读取Javascript变量

我试图读取从我的表单上的WebBrowser控件加载和调用的Javascript变量的值。 例: index.html引用一个名为’test.js’的javascript。在test.js上,创建并填充了几个变量。 index.html然后调用这个JS。 Index.html被加载并显示在WebBrowser控件中。 我已经找到了很多关于如何调用/调用驻留在Web浏览器控件中的函数的帮助。 如何轻松读取变量值?

如何在Webbrowser控件中禁用“安全警报”窗口

我正在使用Webbrowser控件使用“不受信任的证书”登录HTTPS站点。 但我得到一个关于不受信任的证书的弹出窗口“安全警报”: 我必须按标题找到这个窗口并发送Alt + Y按是 : int iHandle = NativeWin32.FindWindow(null, “Security Alert”); NativeWin32.SetForegroundWindow(iHandle); System.Windows.Forms.SendKeys.Send(“Y%”); 但用户可以看到此窗口的闪烁。 如何忽略此警报? 或者在Webbrowser控件中禁用此“不受信任的证书”检查?

WebClient运行javascript

我有一个。 aspx页面,它有一些控制分页的JavaScript函数。 我可以通过webbrowser在WebBrowser1_DocumentCompleted使用以下方法运行此javascript函数 WebBrowser1.Document.Window.DomWindow.execscript (“somefunction();”, “JavaScript”) webbrowser非常慢,我更喜欢使用System.Net.WebClient.DownloadString 。 有一些方法可以使用更快或其他方式的System.Net.WebClient方法运行此脚本吗?

从浏览器获取URL到C#应用程序

如何使用C#.NET windows窗体应用程序从正在运行的Chrome或Opera实例中获取url? 谢谢!

如何在不影响SYSTEM / IE代理的情况下为Webbrowser Control设置代理

如何在不设置IE代理的情况下为Web浏览器控件设置代理? 基本上我希望我的应用程序使用某个代理,但显然我不想更改用户的IE代理设置。

Web浏览器控制限制

我在Windows窗体C#项目中使用WebBrowser控件,并想知道您可以同时运行多少个此类应用程序实例的任何限制。 (换句话说,MSFT强制执行除物理机器限制之外的任何限制 – CPU /内存等)

使用c#获取Chrome浏览器标题

假设我打开了多个镀铬窗口(不是标签), 如何查看浏览器标题? 我尝试了以下方法: Process[] p = Process.GetProcessesByName(“chrome”); foreach (Process item in p) { Console.WriteLine(item.MainWindowTitle); } 但它只返回我最后一个打开的窗口名称,所有其他都是空白..

在WebBrowser控件中设置cookie

我正在使用WebBrowser的Navigatefunction加载网站,我希望浏览器加载带有我给它的cookie的页面。 以下代码不起作用: wb.Navigate(url, null, null, “Cookie: ” + cookie + “\n”); 我究竟做错了什么? 我必须使用InternetSetCookie吗? 这似乎不是最好的解决方案。