Workaround:
As you state the only solution (to my knowledge since Firefox does not have an api) would be clicking and waiting a few -is there any window that may pop up to verify that you are done?-.
Steps:
1.Set your firefox window in a constant position and then get the coordinates
You would need to declare each coordinate, you may use the following code to help you to calculate the coordinate like so:
Dim MyPointAPI As POINTAPI
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GETCURSORPOS Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Public Sub MouseCursorGetOurXY()
'this was taken online quite a while ago, left everything as copied from the original source
Dim L As Long
Application.Wait (Now() + TimeValue("00:00:02"))
L = GETCURSORPOS(MyPointAPI) 'get our cursor position first
MsgBox CStr(MyPointAPI.X) & ", " & CStr(MyPointAPI.Y) 'displays cursor X Y coordinates
End Sub

2.Set your code with these coordinates:
Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Public Const MOUSEEVENTF_RIGHTDOWN As Long = &H8
Public Const MOUSEEVENTF_RIGHTUP As Long = &H10
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Sub Click_Windows()
Const CheckBoxCoordX As Long = 455
Const CheckBoxCoordY As Long = 300
Const InputBoxCoordX As Long = 155
Const InputBoxCoordY As Long = 255
Const FireFoxWindowTitle As String = "WebPage Title"
Dim do_Mydata As DataObject
Dim lHnd As Long
Dim i As Long
lHnd = FindWindow(vbNullString, FireFoxWindowTitle)
If lHnd > 0 Then 'This means that your program is in memory ' 1. If lHnd > 0
'Now that You've already checked your app is running then ..
AppActivate FireFoxWindowTitle
Else ' 1. If lHnd > 0
i = 0
Do Until lHnd > 0
lHnd = FindWindow(vbNullString, FireFoxWindowTitle)
If i < 5 Then ' 2. If i < 5
Application.Wait (Now() + TimeValue("00:00:01"))
i = i + 1
Else ' 2. If i < 5
MsgBox ("It seems that the webpage is not opened!")
End
End If ' 2. If i < 5
Loop
End If ' 1. If lHnd > 0
'code to click only
SetCursorPos CheckBoxCoordX, CheckBoxCoordY
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
Application.Wait (Now() + TimeValue("00:00:01"))
'move to the input box and paste data from excel
SetCursorPos InputBoxCoordX, InputBoxCoordY
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
Set do_Mydata = New DataObject
With do_Mydata
.SetText Range("A1").Value
.PutInClipboard
End With
SendKeys "^v", True
Set do_Mydata = Nothing
Application.CutCopyMode = False
End Sub