I have been writing selenium scripts for a while in Java. I encountered a very weird issue today.
Here is the issue: I cleared a text field using webelement.clear() method, later while executing next command (click event), the text area I had previously cleared, is now populated with previously filled value.
Here is the code snippet:
mobileNumField.get(0).clear();
Thread.sleep(4500);
emailAddress.get(0).click();
emailAddress.get(0).clear();
Thread.sleep(4500);
emailAddress.get(0).sendKeys(Keys.TAB);
I don't know the exact reason for your element keeping its value, but you can try an alternative text clearance by sending 'Ctrl+A+Delete' key combination using sendKeys method of the element's object:
It's possible that the fields you're trying to fill has
autocomplete
attribute set to on. [Reference]If
clear()
works when the line executes then it's safe to say that this is not a webdriver specific issue.It would help if you can show the html snippet of the page section you're working on.
Possible areas of debugging:
Good luck!
PS: Those
Thread.sleep
(s) are not advisable.Another way that worked for me in python, but is not what you would call elegant:
I had a similar issue with a text field that used an auto-complete plugin. I had to explicitly clear the attribute value as well as do a SendKeys. I created an extension method to encapsulate the behaviour, hopefully the snippet below will help: