无法通过 excel vba 自动填充网站标签

Unable to autofill tabs of website through excel vba

我已经成功创建了以下代码,但我无法自动填充图像中标有红色箭头的字段,因为在 HTML 代码中没有可用的 ID。

图像中显示的所有选项卡都没有 ID。

填充这些应该用什么编码?

Sub TDS_Autofill()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "https://onlineservices.tin.egov-nsdl.com/etaxnew/tdsnontds.jsp"
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop

Set doc = IE.document
doc.parentWindow.execScript "sendRequest(281)", "JavaScript"

Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop


If ThisWorkbook.Sheets("Challan AutoFill").Range("m2").Value = "Company" 
Then
doc.getElementById("0020").Click
ElseIf ThisWorkbook.Sheets("Challan AutoFill").Range("m2").Value = "Non 
Company" Then
doc.getElementById("0021").Click
End If



If ThisWorkbook.Sheets("Challan AutoFill").Range("o2").Value = "(200) 
TDS/TCS Payable by Taxpayer" Then
doc.getElementById("200").Click
ElseIf ThisWorkbook.Sheets("Challan AutoFill").Range("o2").Value = "(400) 
TDS/TCS Regular Assessment" Then
doc.getElementById("400").Click
End If


IE.document.querySelector("select.form-control").selectedIndex = 
ThisWorkbook.Sheets("Challan AutoFill").Range("r2").Value


doc.getElementById("NetBanking").Click

doc.getElementById("NetBank_Name_c").Value = ThisWorkbook.Sheets("Challan 
AutoFill").Range("t2").Value



End Sub```

您可以使用 getElementsByTag("input") returns 您可以通过索引访问的组件集合,然后将它们的值设置为您需要的值。

doc.getElementsByTagName("input")(0).value = "My value"

您可以通过 doc.getElementsByName 使用输入的名称获取输入。它 returns 文档中具有指定名称的所有元素的集合。然后你应该找出你想要的元素的索引号。

例如,您可以使用以下代码设置"Tax Deduction Account No"的值:

doc.getElementsByName("TAN")(1).Value = "abc"

对于其他输入,您可以使用相同的方法。我通过设置一些值进行了测试,您可以看到结果: