View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default Internet unnamed button not working

Your Tag is "Input". What may work is

set Input = IE.document.getelementsbytagname("input")
for each itm in Input
if itm.type = "button" and itm.value="Post It" then
itm.select
itm.click
end if

next itm


the code above may work. It depends on how the webpage is structured. You
also didn't post the code for the answerbutton so I don't know how to enter
"Excellent Question".


Below is some code that I wrote. Look at the lines where
class=("mainSearchButton"). You may be able to use class="button"

'get search button
Set but = IE.document.getElementById("mainSearchButton")
'put distance in listbox on webpage
Set radius = IE.document.getElementById("radius")
radius.Value = "100"


'search again a larger distance
'Select Search button and activate
but.Select
but.Click


---------------------------------------------------------------------------------------------


Sub GetDealers()
'Dim PageNumber As Object
CR = Chr(13)
LF = Chr(10)

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True

URL = "http://www.nissanusa.com/apps/dealerlocator"
Request = "?zipCode=07508&tool=Home.Locator"

'get web page
IE.Navigate2 URL & Request
Do While IE.readyState < 4
DoEvents
Loop

'get search button
Set but = IE.document.getElementById("mainSearchButton")
'put distance in listbox on webpage
Set radius = IE.document.getElementById("radius")
radius.Value = "100"


'search again a larger distance
'Select Search button and activate
but.Select
but.Click
Set SearchResults = IE.document.getElementById("searchResults")

On Error Resume Next ' Defer error handling.
Do
Err.Clear
Set PageNumber = IE.document.getElementById("pageNumber")
Pages = PageNumber.Value
DoEvents
Loop While Err.Number < 0
On Error GoTo 0


With Sheets("Dealers")
.Cells.ClearContents
RowCount = 1

For PageCount = 1 To PageNumber.Length
PageNumber.Value = Format(PageCount, "@")
PageNumber.onchange

For Each Chld In SearchResults.Children

If Chld.innertext = "" Then
Exit For
End If
Set DealerNumberObj = _
Chld.getelementsbytagname("A")
DealerNumberStr = DealerNumberObj.Item(1).pathname
dealerNumber = _
Val(Mid(DealerNumberStr, InStr(DealerNumberStr, "'") + 1))
.Cells(RowCount, "A") = dealerNumber

ColCount = 2
dealer = Chld.innertext
Do While InStr(dealer, CR) 0
Data = Trim(Left(dealer, InStr(dealer, CR) - 1))

'remove leading CR and LF
Do While Left(Data, 1) = LF Or _
Left(Data, 1) = CR

Data = Mid(Data, 2)
Loop
dealer = Trim(Mid(dealer, InStr(dealer, CR) + 1))
If InStr(Data, "(") 0 And _
ColCount = 4 Then

Distance = Trim(Mid(Data, InStr(Data, "(") + 1))
Distance = Trim(Left(Distance, InStr(Distance, ")") - 1))
CityState = Trim(Left(Data, InStr(Data, "(") - 1))
.Cells(RowCount, ColCount) = CityState
.Cells(RowCount, (ColCount + 1)) = Distance
ColCount = ColCount + 2
Else
.Cells(RowCount, ColCount) = Data
ColCount = ColCount + 1
End If
Loop

'remove leading CR and LF
Do While Left(dealer, 1) = LF Or _
Left(dealer, 1) = CR

dealer = Mid(dealer, 2)
Loop
.Cells(RowCount, ColCount) = dealer
RowCount = RowCount + 1
Next Chld
Next PageCount
End With
End Sub



"Arry Potter" wrote:

Hi,
I have a web form with 3 fields
Answer - button ,
Answert - text area
and
post it - button

There is no name for "post it" and the button is unnamed. I am using
Internet Application control.

Here is the code I use

Public Sub test()

Dim IE
Dim objShell
Dim s As String
Dim i As Integer
Dim TabKey As String
TabKey = "{TAB}"
For i = 1 To 1 Step 1

s = "https://www.google.com&questionid=" & i

Set IE = CreateObject("InternetExplorer.Application")
Set objShell = CreateObject("WScript.Shell")
With IE
.Left = 20
.Top = 20
.Height = 540
.Width = 950
.MenuBar = 0
.Toolbar = 1
.StatusBar = 0
.Navigate s
.Visible = True
End With

'wait until IE has finished loading itself.
Do While IE.Busy
DoEvents
Loop

IE.document.all("answerbutton").Click
IE.document.all("answervalue").Value = "Excellent Question"






' CloseApp "Microsoft Internet Explorer", "IEFrame"

Next i
End Sub




Please tell me how to proceed

HTML COde for POST IT Button
<input type="button" value="Post It" onclick="javascript:postAnswer(40932)"
class="button" onmouseover="hov(this,'button buttonhov')"
onmouseout="hov(this, 'button buttonout')"</input