0

我需要将图像从网络浏览器控件复制到我的剪贴板,因为每次重新加载时图像都会更改,并且我尝试获取“src”属性并将我的picturebox.imagelocation更改为该属性,但picturebox上的图像不同于webbrowser 控件上的图片。

我正在尝试自动化 Web 服务,它需要填写验证码,并且每次加载页面时都会更改,这就是为什么我需要获取当前显示的验证码。

4

2 回答 2

0

伪代码:

通过标签“img”为每个元素。获取“src”属性。启动源的实例HttpWebRequest或使用WebClient.DownloadFile源。

您将需要做一些技巧来确定源相对于 url 的位置。例如,src 可以是“/img/pony.jpg”,在这种情况下,您需要从WebBrowser控件中获取 url 的根以使其成为“ http://mylittle.com/img/pony.jpg ”。

于 2013-04-01T01:06:30.413 回答
0

假设您使用的是 Windows 窗体(如果您使用 WPF,则需要更改获取文档的方式)并且用户没有在 IE 区域设置中阻止剪贴板访问

Dim doc As IHTMLDocument2 = DirectCast(webBrowser1.Document.DomDocument, IHTMLDocument2)
Dim body As IHTMLElement2 = DirectCast(doc.body, IHTMLElement2)
Dim imgRange As IHTMLControlRange = DirectCast(body.createControlRange(), IHTMLControlRange)
Dim image As IHTMLControlElement = DirectCast(DirectCast(doc, IHTMLDocument3).getElementById(sImgID), IHTMLControlElement)
imgRange.add(image)
imgRange.execCommand("Copy", False, Nothing)
于 2013-04-01T02:24:51.903 回答