As @FDM mentioned the $x("//*[@id='email']") will find 2 matching elements. So you need to build a locator that is more unique/precise. If you search it in Firebug or any other console you'll notice that it yields two matching nodes. I'm not sure in Python how it should be, but I tried this in Java using the following CSS selector and it worked. driver.findElement(By.cssSelector("div[id=top-user-menu-wrapper] input[id=email]")).sendKeys("test");