Waiting for a web page to load
While ie.Busy DoEvents Wend
Selecting differing radio buttons
Dim ieRadio As Object Set ieRadio = ie.Document.all ieRadio.Item("datetype")(1).Checked = True
A function that can be used to delay action before an action in code (Not web specific). Here I set to 1 second
Public Function Await1() Dim time1 As Variant Dim time2 As Variant time1 = Now time2 = Now + TimeValue("0:00:01") Do Until time1 >= time2 DoEvents time1 = Now() Loop End Function
Split a string of text into a 1 dimensional array with splitting occurring at returns.
Dim strArray() as String Dim strtoParse as String Dim intCount as Long 'here I taken an imaginary recordset and set the string to parse from the text value in the recordset strtoParse = rs!Text strArray = Split(strtoParse, vbNewLine) 'a simple loop that will count the number of values in the array (1 dimensional) For intcount = LBound(strArray) To UBound(strArray) MsgBox Trim(strArray(intCount)) Next
Find a string in an array note the complete string needs to be found not a part within one of the array parts.
Private Function WhereInArray(vArrayName As Variant, vStringtoFind As String) As Variant Dim i As Long For i = LBound(vArrayName) To UBound(vArrayName) If vArrayName(i) = vStringtoFind Then WhereInArray = i Exit Function End If Next i 'if you get here, vStringtoFind was not in the array. Set to null WhereInArray = Null End Function
Show whats in which Array cell – where n is a number equal to the value of a cell
So eg strArray(60) would show the value in 60th cell note arrays start from 0
MsgBox strArray(n)
Copy the HTML of a web page to a variable
my_StrVariable = ie.Document.body.innerHTML
Filter out much of the HTML formatting and only put inner text into a variable
my_StrVariable = ie.Document.body.innerText
Replace with spaces with less spaces till 2 and 3 spaces are replaced by 1 space
Function ThreeTwo(ByVal parmString As String) As String Dim strTemp As String strTemp = parmString Do Until InStr(strTemp, " ") = 0 strTemp = Replace(strTemp, " ", " ") Loop Do Until InStr(strTemp, " ") = 0 strTemp = Replace(strTemp, " ", " ") Loop ThreeTwo = strTemp End Function
Click on a button if all you know is its class name
Dim e Set e = ie.Document.getElementsByClassName("button primary")(0) e.Click
Identify sites and how often they are visited
labpix.online/rounduptheusualsuspects.org
Look at any site
http://labpix.online
Take a look at the robots.txt of a site
https://www.theregister.co.uk/robots.txt