我需要將圖像從網頁瀏覽器控件複製到剪貼板,因爲每次重新加載圖像都會發生變化,我試圖獲取「src」屬性並將我的picturebox.imagelocation更改爲,但圖片框上的圖像與網頁瀏覽器控件上的圖片不同。將圖像從網頁瀏覽器複製到剪貼板
我試圖自動化一個Web服務,它需要填寫一個驗證碼,並且每次頁面加載時都會更改,這就是爲什麼我需要獲取當前顯示的驗證碼。
我需要將圖像從網頁瀏覽器控件複製到剪貼板,因爲每次重新加載圖像都會發生變化,我試圖獲取「src」屬性並將我的picturebox.imagelocation更改爲,但圖片框上的圖像與網頁瀏覽器控件上的圖片不同。將圖像從網頁瀏覽器複製到剪貼板
我試圖自動化一個Web服務,它需要填寫一個驗證碼,並且每次頁面加載時都會更改,這就是爲什麼我需要獲取當前顯示的驗證碼。
假設你使用的是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)
這正是我所說的,終於有人理解。 –
我啓用了剪貼板訪問並在我的代碼中實現了此方法,但它仍不會複製圖像。 –
僞代碼:
對於標籤'img'的每個元素。獲取'src'屬性。啓動HttpWebRequest
的實例或使用WebClient.DownloadFile
作爲源。
您將需要做一些欺騙性的決定哪些來源與網址相關。例如,src可能是'/img/pony.jpg',在這種情況下,您需要從WebBrowser
控件中獲取url的根目錄,使它成爲'http://mylittle.com/img/pony.jpg'。
看到每個請求上的圖像都發生了變化,這是無用的,我需要實際使用WebBrowser1.Document.ExecCommand才能成功獲取正確的圖像。 –
更多細節它目前。你也可能不得不放棄網絡瀏覽器控制。 – Jeremy
@Jeremy Child 這就是我將要做的事情,如果它能行得通,請注意「Captcha」是一個帶有圖片框控件的窗體。 \t對於每個元素作爲的HtmlElement在WebBrowser1.Document.GetElementsByTagName( 「IMG」) \t \t如果element.GetAttribute( 「ID」)= 「siimage」 那麼 \t \t \t Captcha.PictureBox1.ImageLocation = element.GetAttribute ( 「SRC」) \t \t結束如果 \t下一頁 而什麼叫 「溝」 WebBrowser控件是什麼意思?我需要這個過程才能工作。 –
我只是不喜歡'WebBrowser'控件,不介意我。 – Jeremy