草庐IT

webBrowser1

全部标签

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

老读者,第一次张贴在这里。我的目标:能够在使用WebBrowser类时利用async/await。由于WebBrowser.Navigate(stringurl)是一种异步方法,在触发LoadComplete事件之前您无法检查html文档。到目前为止,这是我的(工作)代码:publicclassAsyncWebBrowser{protectedWebBrowserm_WebBrowser;privateManualResetEventm_MRE=newManualResetEvent(false);publicvoidSetBrowser(WebBrowserbrowser){this

c# - 如何在C#中使用WebBrowser控制DocumentCompleted事件?

在开始写这个问题之前,我试图解决以下问题//1.navigatetopage//2.waituntilpageisdownloaded//3.readandwritesomedatafrom/toiframe//4.submit(post)form问题是,如果网页上存在iframe,DocumentCompleted事件将被触发多次(在每个文档完成后)。程序很可能会尝试从未完成的DOM中读取数据,自然会失败。但是在写这个问题时,'Whatif'monster突然启发了我,我解决了我试图解决的问题。由于我在Google上失败了,所以我认为将它发布在这里会很好。privateintifra

c# - 如何使用 WebBrowser 控件以编程方式更改打印机设置?

我终于想通了howtoprinttransformedXML没有提示用户或显示IE窗口,但现在我需要指定份数和可能的其他打印机设置。有没有办法以编程方式更改WebBrowser控件上的打印机设置?有问题的代码:privatestaticvoidPrintReport(stringreportFilename){WebBrowserbrowser=newWebBrowser();browser.DocumentCompleted+=browser_DocumentCompleted;browser.Navigate(reportFilename);}privatestaticvoidbr

c# - 如何使用 WebBrowser 控件捕获 JSON 响应

我使用WebBrowser.Navigate()发布到网站的JSON响应URL。一切顺利,包括正在调用的webBrowser1_DocumentCompleted()事件处理程序。但是我没有得到可以编程处理的“安静”响应(例如webBrowser1.Document),而是收到一个文件下载对话框:如果我单击Save按钮并稍后检查该文件,它包含我期望的JSON响应。但我希望程序在代码中捕获此JSON响应,而不显示该对话框并且不必单击Save按钮。如何使用WebBrowser控件捕获JSON响应?注意:在发布这个问题之前,我搜索了SO,我发现的只是一个类似的问题,接受的答案并没有真正解释如

c# - .NET C# : WebBrowser control Navigate() does not load targeted URL

我正在尝试通过WebBrowser控件以编程方式加载网页,目的是测试页面及其JavaScript函数。基本上,我想将通过此控件运行的HTML和JavaScript与已知输出进行比较,以确定是否存在问题。但是,我在简单地创建和导航WebBrowser控件时遇到了麻烦。下面的代码旨在将HtmlDocument加载到WebBrowser.Document属性中:WebBrowserwb=newWebBrowser();wb.AllowNavigation=true;wb.Navigate("http://www.google.com/");在Navigate()运行后通过Intellisen

c# - 将 WebBrowser.Document 转换为位图?

是否可以将WebBrowser.Document绘制到位图?基本上截取WebBrowser控件的屏幕截图(请注意,这是WebBrowser不存在于表单中,而是存在于代码中)。WebBrowserw=newWebBrowser();w.Document="Helloworld.";w.Document.DrawToBitmap???谢谢! 最佳答案 我使用以下代码捕获在WebBrowser控件中加载的网页的屏幕截图:classNativeMethods{[ComImport][Guid("0000010D-0000-0000-C000

c# - C# 中的 WebBrowsing - 库、工具等 - 是否类似于 Perl 中的 Mechanize?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion寻找类似于Mechanizefor.NET的东西...如果您不知道Mechanize是什么..http://search.cpan.org/dist/WWW-Mechanize/我将在此处维护一个建议列表。任何用于浏览/发布/屏幕抓取的东西(WebRequest和WebBrowserControl除外)。解析HTMLAgilityPack-http://www.cod

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

如何在不为IE设置代理的情况下为WebbrowserControl设置代理?基本上我希望我的应用程序使用某个代理,但是显然我不想更改用户的IE代理设置。 最佳答案 试试UrlMkSetSessionOptionINTERNET_OPTION_PROXY和UrlMkSetSessionOptionINTERNET_OPTION_REFRESH如果您的代理有密码身份验证,您可能需要在WebBrowserSiteBase派生类中实现IAuthenticate(Ex)。 关于c#-如何在不影响S

c# - 如何在 WebBrowser 控件中提交表单?

如何使用C#创建一个程序来自动提交表单(在web浏览器CONTROLinwindowsApps中)? 最佳答案 WebBrowsercontrol有一个Documentproperty,它返回一个HtmlDocument.HtmlDocument有severalmembers您可以使用它来遍历和操作DOM。使用这些方法找到表单后,您可以使用InvokeMember调用表单的提交方法。如果您知道页面只有一个表单:foreach(HtmlElementforminwebBrowser1.Document.Forms)form.Invok

c# - 如何单击 Web 浏览器控件中的按钮?

例如,在没有用户输入的情况下使用代码,我如何让我的程序点击google上的“搜索”按钮(假设我已经填写了搜索框并且在google.com) 最佳答案 webBrowser1.Navigate("http://www.google.com");如果您有ID,请使用:webBrowser1.Document.GetElementById("id").InvokeMember("click");如果你有TagName使用这个webBrowser1.Navigate("http://www.google.com");在Web浏览器Docum