You could avoid the search button altogether and concatenate the search term into the URL direct. For example:
Option Explicit
Sub FillInternetForm()
Dim IE As Object, searchTerm As String
searchTerm = ThisWorkbook.Worksheets("Sheet1").Range("A1")
Set IE = CreateObject("InternetExplorer.Application")
With IE
.navigate "https://www.google.co.uk/search?safe=strict&source=hp&ei=XiooW8rAKMeZsgGji57gBw&q=" & searchTerm & "&oq=" & searchTerm & "&gs_l=psy-ab.3..0l2j0i131k1j0l2j0i131k1j0j0i131k1l3.1481.2118.0.2518.7.6.0.0.0.0.124.555.0j5.6.0..3..0...1.1.64.psy-ab..1.6.657.6..35i39k1.103.n22OrWdTQrs"
.Visible = True
While .Busy Or .readyState < 4: DoEvents: Wend
Stop '<= Delete this line
.Quit
End With
End Sub
If you do an example search you can capture the URL and the edit in your variable name to string, as I show above.
As @RyszardJędraszyk explains (many thanks), you may have a dynamically loaded webpage in which content is not available at the moment you try to grab hold of an element. In this case you can have a loop which attempts to set to an element that you know should be present and loop while is nothing (with timeout).
Ryszard further points out you are missing your ReadyState = 4 fully loaded (which does mean a dynamic page, for example, is actually fully loaded, or that a lazy-loading page has all items visible (you may require scrolling to achieve this. My answer above shows you how to also use the ReadyState.
I was unsure about the cause of this pop-up, so I just went with the simplest route to get the page of interest, to try and lessen the risk of this happening. It is not something I have ever had happen or could reproduce I'm afraid.