Я пытаюсь заполнить веб-форму с помощью VB.Net, и у меня возникла проблема с полем в веб-форме, поскольку одно и то же имя свойства "id" используется дважды подряд.
См. Ниже пример HTML.Первый - тот, который работает.Это поле «ClientAccountNumber».
Ниже это поле "ClientAccession", которое не работает.
Поле "ClientAccountNumber" (Одно, которое работает)
<td>
<span class="zenLabel" id="zenlbl_22">Client Account Number</span>
<div>
<input class="text" id="ClientAccountNumber" type="text" size="30" value="TM123456P">
</div>
</td>
![ClientAccountNumber Field](https://i.stack.imgur.com/TDtwV.jpg)
Поле «ClientAccession» (не работает)
<td>
<span class="QLSLabelReq" id="zenlbl_17">Client Accession</span>
<div id="ClientAccession" value="TM123456P">
<input class="text" id="ClientAccession" type="text" size="30">
</div>
</td>
![ClientAccession field](https://i.stack.imgur.com/pgojv.jpg)
Как видите,Я могу установить «значение» поля «ClientAccountNumber» просто отлично.
Но у меня возникают проблемы при настройке «значения» поля «ClientAccession», потому что человек, который первоначально сделал HTML, использовал «id» «ClientAccession» два раза подряд.
Теперь он устанавливает «значение» первого «ClientAccession», и я не могу получить второй «ClientAccession», поэтому поле формы не заполняется в форме.
Это мой код, который я использую.
Sub AddDataToTomForm(AccessionNumber As String)
Dim IE As Object 'Internet explorer object
Dim objCollection As Object 'Variable used for cycling through different elements
'Create IE Object
IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://SampleWebSite.com") 'Your website
Do While IE.Busy
Application.DoEvents() 'This allows the site to load first
Loop
IE.document.GetElementById("ClientAccountNumber").SetAttribute("value", AccessionNumber) 'The "CustomerInfo.AccountNumber" is the name of the element I looked for in this case.
' Clean up
IE = Nothing
End Sub
Поле формы должно быть заполнено так, чтобы HTML-код должен был выглядеть следующим образом:
<td>
<span class="QLSLabelReq" id="zenlbl_17">Client Accession</span>
<div id="ClientAccession">
<input class="text" id="ClientAccession" type="text" value="TM123456P" size="30">
</div>
</td>