Captcha 이미지를 복사하여 그림 상자에 표시하려고 시도하고 있습니다. 당신은 확실히 일하고 페이지 :VB.Net 사용자 입력 대기 보안 문자
Dim htmlDocument As HtmlDocument = Me.IEMC.Document
Dim htmlElementCollection As HtmlElementCollection = htmlDocument.Images
For Each htmlElement As HtmlElement In htmlElementCollection
Dim imgUrl As String = htmlElement.GetAttribute("id")
If imgUrl.Contains("wlspispHIPBimg") Then
GRABMYDARNIMG!
End If
Next
를 새로 고칠 때 나는 현재이 끊임없이 변화하기 때문에, 해당 ID를 찾으려면 다음 코드를 사용하고
. 올바른 ID를 찾을 수 있습니다. 하지만이 ID의 이미지 콘텐츠를 복사하여 내 그림 상자에 붙여 넣으려면 어떻게해야합니까?
IEMC.Document.GetElementById(imgUrl).Focus()
IEMC.Document.ExecCommand("Copy", False, Nothing)
을 그러나 어디를 붙여 넣거나 제대로 요소를 복사하는 방법에 대한 확실하지 수없는 것 :
나는 다음 시도했다.
Dim O As Object
Set O = WebBrowser1.Document.body.createControlRange()
Call O.Add(WebBrowser1.Document.All("imgcode"))
Call O.execCommand("Copy")
Set Picture1.Picture = Clipboard.GetData
을하지만 그 VB.NET에서 작동하지 않습니다 :
나는이 같은 것을 시도했다. 다음에 무엇을 시도해야할지 모르겠습니다.
이미지를 그림 상자에 붙여 넣기는 클립 보드에 복사되는 것으로 가정하면 충분히 쉽습니다. 이 코드 줄을 사용하면됩니다.
PictureBox1.Image = Clipboard.GetImage
누구든지이 작업을 수행하는 방법을 알고 있다면 매우 감사 할 것입니다.
참고 :URL에서 이미지를 다운로드 할 수 없습니다. 웹 브라우저의 이미로드 된 요소에서 가져와야합니다. captcha 이미지가 한 번로드되면 이미지 URL이 삭제됩니다.
EDIT : 아래 제안을 시도했습니다. 그러나 어떤 img도 저장하지 않습니다.
Dim doc As mshtml.IHTMLDocument = DirectCast(IEMC.Document.DomDocument, mshtml.IHTMLDocument)
Dim imgRange As mshtml.IHTMLControlRange = DirectCast(DirectCast(doc.body, mshtml.HTMLBody).createControlRange(), mshtml.IHTMLControlRange)
Dim imagename As String = String.Empty
Try
For Each img As mshtml.IHTMLImgElement In doc.images
imgRange.add(DirectCast(img, mshtml.IHTMLControlElement))
imgRange.Select()
imgRange.execCommand("Copy", False, Nothing)
Using bmp As Bitmap = DirectCast(Clipboard.GetDataObject().GetData(DataFormats.Bitmap), Bitmap)
bmp.Save("C:\captchaPic.jpg")
End Using
imagename = img.nameProp
Exit For
Next
Catch aaa As System.Exception
End Try
흠 는 .. .. 나는 코드 컨버터를 사용했다,하지만 난 그것을 작동하도록하는 것 캔트. 특히 imgRange.add 및 imgRange.execCommand뿐만 아니라 doc.body. – Gematria
mshtml에 대한 참조를 추가해야한다고 생각합니다. – confusedMind
너무 빨리 말하십시오. 실행했지만 실제로는 아무 것도 저장하지 않습니다. 실제로는 이미지를 찾지 못합니다. – Gematria