【问题标题】:Image from webbrowser control to picturebox - C#从 webbrowser 控件到图片框的图像 - C#
【发布时间】:2011-07-13 05:41:36
【问题描述】:

我有图片框和网络浏览器控件。 在 webbrowser 控件中,我正在显示带有图像的页面。 此图像可见。我无法传递到此图像的图片框 url,因为它不会显示。如果您直接从地址栏输入它的页面,则此图像不可见。

有没有办法从浏览器缓存或任何其他方式获取该图像?

我想在查看一个添加后获取显示在此页面上的验证码图像。

http://www.clix-cents.com/pages/clickads

【问题讨论】:

    标签: c# .net browser picturebox


    【解决方案1】:

    您可以通过将图像复制到剪贴板来获取图像。 JavaScript 可以将 img 复制到剪贴板。

    mshtml.HTMLWindow2Class w2 = webBrowser1.Document.Window.DomWindow as mshtml.HTMLWindow2Class;
    w2.execScript("var ctrlRange = document.body.createControlRange();ctrlRange.add(document.getElementById('img1'));ctrlRange.execCommand('Copy');", "javascript");
    Image image2 = Clipboard.GetImage();
    pictureBox1.Image = image2;
    

    【讨论】:

    • 添加对C:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll的引用
    • 将您对GetDocumentText 所做的Invoke 应用到此GetImageById 函数。
    • 你好,图片没有imageid怎么办? <img src="/captcha.php?imagehash=c58a1ed62426658464722336dc2330ed" class="captcha" alt="Visual Confirmation Security Code" title="Visual Confirmation Security Code">???谢谢
    • @Smith 在这种情况下,您可能想要搜索具有 TagName = "IMG" 和 ClassName = "captcha" 甚至 Alt = "Visual Confirmation Security Code" 的 HtmlElement。然后为 HtmlElement 分配一个 ID,然后使用相同的代码获取图像。或者,您可以编写一些 javascript 来使用这些参数选择该特定图像。如果您想了解更多信息,请发布一个新问题。在 cmets 框中编辑非常困难。
    猜你喜欢
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    相关资源
    最近更新 更多