Documents for .Click
' Click this element. If this causes a new page to load, you should discard all references to this element
' and any further operations performed on this element will throw a StaleElementReferenceException.
' Note that if click() is done by sending a native event (which is the default on most browsers/platforms)
' then the method will _not_ wait for the next page to load and the caller should verify that themselves.
' There are some preconditions for an element to be clicked.
' The element must be visible, and it must have a height and width greater than 0.
Documents for .Submit
' If this current element is a form, or an element within a form, then this will be submitted to the remote server.
' If this causes the current page to change, then this method will block until the new page is loaded.
After submit, as it block further code execution until page is loaded, you can check what URL is with:
Dim CurrentUrl As String = Selenium.CurrentUrl
There is a lot of possibility to change URL, like JS redirect, that cannot be detected with event.
Use Selenium.CurrentUrl to check URL location.
Event NavigationFinished will fire only on: .NavigateTo, .NavigateBack, .NavigateForward, .NavigateRefresh
You can also inject JS in page and get result back, that offer a lot of possibilities.