2012-11-28 3 views
0

나는 다음과 같은 HTML 콘텐츠가있는 페이지가 : 그 최대로드하는 웹 브라우저 컨트롤이방법에 ID로 요소의 src 속성을 얻기 위해 Visual Basic에서 6

<img src="image.png" id="image"> 

내 VB6 코드를 페이지, 지금은 이미지의 src 속성을 가져 싶어, 나는이 시도 :

Dim image 
image = WebBrowser1.Document.getElementById("image") 

dim image_src as String 
image_src = image.src 

하지만 오류 Invalid qualifier를 얻을. getElementById 함수 호출 후 image 변수를 디버깅하고 얻은 결과는 [object]입니다.

따라서 이미지의 src 속성을 어떻게 얻을 수 있습니까?

편집 :

결국 일이었다 것은이 위 코드가 작동하는 경우

image = WebBrowser1.Document.getElementById("image").src 

하지만 나에게, 이것은 어떤 이해가되지 않습니다 (그냥 테스트), 방법 내가 먼저 해보 았던 걸로 오지 않니? 나는 이것에 대한 설명을 해 줄 수있는 누군가를 고맙게 생각합니다.

+0

HTML에'id = "image"'가있는 요소가 하나만 있는지 확인 했습니까? 아니면 VB6이기 때문에'name = "image"'를 가진 요소가 없다. – ficuscr

+0

@ficuscr : 예, 했어요. – Nikola

+0

잠시 기다려 봤습니다 ... 빠른 검색 '.getElementById ('foo ')를 많이 보았습니다. getElementsByTagName ('img ') [0] .src; 추구 할 가치가있다. 또한, 단지 이론을 테스트하고 가능성을 버릴 필요가있는 경우 문서를 스푸핑하고 해당 HTML 요소에'name = "image"'를 추가하십시오. – ficuscr

답변

0

"IMG 요소의 SRC 특성이나 FORM의 Submit 메서드와 같이 HtmlElement에서 직접 노출되지 않는 기본 요소의 특성, 속성 및 메서드에 액세스해야하는 경우가 있습니다. GetAttribute 및 SetAttribute 메서드를 사용하면 특정 요소의 특성이나 속성을 검색하고 변경할 수 있으며 InvokeMember는 관리되는 DOM (Document Object Model)에 노출되지 않은 메서드에 대한 액세스를 제공합니다. 응용 프로그램에 비 관리 코드 권한이 있으면 노출되지 않은 속성에 액세스 할 수도 있습니다 및 DomElement 특성 가진 메서드. - http://msdn.microsoft.com/en-us/library/system.windows.forms.htmlelement.aspx

근본적인 문제가 무엇인지 생각해보십시오. 솔직히 반환 값을 지정하면 htmlElement 객체 접근자가 어떻게 변경되는지 확실하지 않습니다. 그래도 그런 일이 일어나고있는 것 같습니다. 실제로 몇 년 동안 VB6 코드를 작성하지 않았습니까? 다른 사람이 실제로 왜 그렇게 행동하는지 설명 할 수 있습니다. 잘못

0
Dim image 


화상 WebBrowser1.Document.getElementById = ("이미지") 설정 화상 = WebBrowser1.Document.getElementById 권리 ("이미지")

dim image_src as String 
image_src = image.src 
+0

을 참조하십시오. 모두가 플레이 할 때의 차이점을 알려주는 대신 변경 한 사항을 설명하는 것이 도움이 될 것입니다. –

관련 문제