【发布时间】:2011-07-13 05:41:36
【问题描述】:
我有图片框和网络浏览器控件。 在 webbrowser 控件中,我正在显示带有图像的页面。 此图像可见。我无法传递到此图像的图片框 url,因为它不会显示。如果您直接从地址栏输入它的页面,则此图像不可见。
有没有办法从浏览器缓存或任何其他方式获取该图像?
我想在查看一个添加后获取显示在此页面上的验证码图像。
【问题讨论】:
标签: c# .net browser picturebox
我有图片框和网络浏览器控件。 在 webbrowser 控件中,我正在显示带有图像的页面。 此图像可见。我无法传递到此图像的图片框 url,因为它不会显示。如果您直接从地址栏输入它的页面,则此图像不可见。
有没有办法从浏览器缓存或任何其他方式获取该图像?
我想在查看一个添加后获取显示在此页面上的验证码图像。
【问题讨论】:
标签: c# .net browser picturebox
您可以通过将图像复制到剪贴板来获取图像。 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 函数。
<img src="/captcha.php?imagehash=c58a1ed62426658464722336dc2330ed" class="captcha" alt="Visual Confirmation Security Code" title="Visual Confirmation Security Code">???谢谢