首页 > 解决方案 > 需要代码行以从下拉列表中选择付款性质

问题描述

在此处输入图像描述

我遵守了下面提到的代码行,但它不起作用。我无法弄清楚如何选择付款性质,付款选项卡的性质标记在附图中的箭头之间。

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

doc.getElementsByName("NaturePayment").Value = ThisWorkbook.Sheets("Challan 
AutoFill").Range("q2").Value



End Sub

标签: htmlexcelvbaweb-scrapingautomation

解决方案


您可以selectedIndex在其select本身上使用,然后在该选择下的列表中指定感兴趣的选项索引。我

ie.document.querySelector("select.form-control").SelectedIndex = 2 '3 or 3 etc....

或者

.Selected = True在选项元素本身上使用,例如

ie.document.querySelector("[value='193 - Interest on Securities']").Selected = True

推荐阅读