2014-05-21 4 views
0

WebBrowser 컨트롤을 사용하여 여러 입력 필드에 값을 설정하려고합니다.VB.net에서 입력 필드에 데이터를 입력 할 수 없습니다.

<input type="text" name="Customer" maxlength="80" value=""   style="background:#DCE4EF;width:100;border: 1px solid #2B589B"> 

나는 내가 어떤 ID가없는 나는이 WebBrowser1.Document.GetElementById을 사용할 수 없습니다 알고있다. 세 가지 다른 입력 필드에서 세 가지 이름을 사용하여이 작업을 세 번 수행해야합니다. 가능합니까? 그렇다면 어떻게해야합니까? = "고객"ID = "고객"

+0

사용하거나 시도한 코드를 제공해 주실 수 있습니까? 처음부터 수정하는 것보다 편집하는 것이 더 쉽습니다. – Kat

+0

당신은 이드 이외에는 그것을 얻을 수 없습니까? 어쩌면 모든 태그 이름을 반복하여 원하는 방식으로 얻을 수 있습니까? – bmgh1985

+0

다른 것들을 시도했습니다. 나는 div가 아니지만 정보를 넣는 것에서 정보를 얻는 방법을 알고 있습니다. 어떻게 해야할지 모르겠습니다. – Crystalwolf

답변

0

변경 이름은 다음 요소를 일단 element.SetAttribute("value", str) 은 또한 = "고객"이름을 떠날 수 document.GetElementById

string str = "new value" 

를 사용하고 document.All.GetElementsByName("Customer")[0].SetAttribute("value", str)

+0

HTML에 액세스 할 수 있으면 작동합니다. 나는 그것을 바꿀 수 없다. – Crystalwolf

+0

나는 그것이 외부 웹 페이지라는 것을 암시하고있다. 두 번째 document.All.GetElementsByName ("Customer")라는 이름을 가진 모든 엘리먼트의 콜렉션을 사용하여 그렇게 할 수있다. 엘리먼트가 Customer라는 이름을 가진 유일한 엘리먼트라면 정확한 색인 [0], [3], [7] 등을 찾을 때까지 컬렉션을 반복 할 필요가 있다면 [0]을 사용할 수 있습니다. 해당 컬렉션에서 유일한 인덱스 인 경우 인덱스는 항상 0입니다 [0]. 그래서 당신은 document.All.GetElementsByName (Customer) [0]을 사용하여이 요소를 얻을 수 있습니다. 그런 다음 그 요소에 대해 SetAttribute를 사용하면됩니다. – user2991535

+0

이것은 식별자가 필요하다고 말하는 것입니까? – Crystalwolf

0

당신을 사용 이 코드는 어떤 속성을 얻을 수 있습니다 :

Dim AllElementes As HtmlElementCollection = WebBrowser1.Document.All 
For Each webpageelement As HtmlElement In AllElementes 
    If webpageelement.GetAttribute("name") = "Customer" Then 
     webpageelement.SetAttribute("value","YOUR TEXT HERE") 
    End If  
Next 

당신이 다른 eleme에 "name"을 변경할 수 있습니다 모든 태그에 nt. 이 같은 경우

는하지만 :

<h1>text here</h1> 

my question를 참조하십시오.

관련 문제