tebeka / selenium

Selenium/Webdriver client for Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The element reference of...is stale

BrunoMCBraga opened this issue · comments

Hello

I am currently using selenium to automate a login and I am using the following sequence:

userNameElement, err = wd.FindElement(selenium.ByName, "user_name")
	if err := wd.Get(loginURL); err != nil {
		return errors.New(fmt.Sprintf("... failed on wd.FindElement #username with error: %s", err.Error()))
	}

	if err := userNameElement.Clear(); err != nil {
		return errors.New(fmt.Sprintf("...failed on elem.Clear with error: %s", err.Error()))
	}

I keep getting the same error and the browser crashes. The error is on the description.

I have found this stale error on stackoverflow posts and with the Pythin version of selenium it is possible to ignore this type of error or at least use a Wait to wait until the form is loaded.

There is no way for me to block this exceptions according to the source code and I have no idea how to handle this error. I have tried sleep and wait but the error keeps triggering again.

Thanks

Think you should swap the order of Get() and FindElement() - Get will instruct the browser to load the page, so whatever element reference you got before Get() is guaranteed to be invalid.