无法通过excel vba自动填充网站的选项卡

无法通过excel vba自动填充网站的选项卡,excel,vba,internet-explorer-11,Excel,Vba,Internet Explorer 11,我已经成功地创建了下面的代码,但是我无法自动填充图像中显示的用红色箭头标记的字段,因为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

我已经成功地创建了下面的代码,但是我无法自动填充图像中显示的用红色箭头标记的字段,因为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```

您可以使用getElementsByTaginput返回可以通过索引访问的组件集合,然后将它们的值设置为您需要的值

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

您可以使用getElementsByTaginput返回可以通过索引访问的组件集合,然后将它们的值设置为您需要的值

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

您可以通过doc.getElementsByName使用输入的名称来获取输入。它返回文档中具有指定名称的所有元素的集合。然后,您应该找到所需元素的索引号

例如,您可以使用以下代码设置扣税科目号的值:

doc.getElementsByName("TAN")(1).Value = "abc"
对于其他输入,可以使用相同的方法。我通过设置一些值进行测试,您可以看到结果:


您可以通过doc.getElementsByName使用输入的名称来获取输入。它返回文档中具有指定名称的所有元素的集合。然后,您应该找到所需元素的索引号

例如,您可以使用以下代码设置扣税科目号的值:

doc.getElementsByName("TAN")(1).Value = "abc"
对于其他输入,可以使用相同的方法。我通过设置一些值进行测试,您可以看到结果:


它是一个jsp,所以它是Java。您在那里找不到任何变量。它是一个jsp,所以是Java。你在那里找不到任何变量。