I am trying to pull the data from websites. So I want to select 3 drop-down values in below URL but i cant change those values. example i want to select month
]Copy That is:
ie.document .querySelector ("#fmonth1 option[value='1' ] ")
Copy You may need .Click on the end for selected. Can't test that url but also try:
ie.document.querySelector("#fmonth1 option[value='1']" ).Selected = True
Copy More generally, if you know an element exists, and your syntax is correct, but you are still getting not set then it may be a timing issue where you need a longer wait (e.g. timed loop) before attempting to access, e.g.
Const MAX_WAIT_SEC As Long = 10 Dim t As Date , ele As Object
t = Timer
Do
DoEvents
On Error Resume Next Set ele = ie.document.querySelector("#fmonth1" )
On Error GoTo 0 If Timer - t > MAX_WAIT_SEC Then Exit Do Loop While ele Is Nothing If Not ele Is Nothing Then
ele.Click
ie.document.querySelector("#fmonth1 option[value='1']" ).Selected = True End If
Copy If inside of a parent iframe/frame you will need to navigate that first e.g.
ie.document.getElementsByTagName("iframe" )(0 ).contentDocument.querySelector("#fmonth1 option[value='1']" ).Selected = True
Copy I tested the following now I can access the page:
Public Sub MakeSelection()
Dim ie As New InternetExplorer
With ie
.Visible = True
.navigate "https://www.bseindia.com/markets/debt/BhavCopyDebt.aspx?expandable=6" While .Busy Or .readyState < 4 : DoEvents: Wend
.document.getElementsByTagName("iframe" )(0 ).contentDocument.querySelector("#fmonth1 option[value='1']" ).Selected = True
Stop '<==Delete me later
.Quit
End With
End Sub
Copy
Post a Comment for "Object Variable Or With Block Variable Not Set Getelementsbyname Vba"