WebDriver Selenium: Cannot Insert Username into PayPal's username box
我很难让WebDriver键入PayPal网站的用户名框。我试过使用xpath、id和css,但这里一定有一些东西我遗漏了,因为它应该很简单。文本框位于代码最底部,其中input="email"
有人能在PayPal网站上试用它吗?如果我只是使用Firebug/FirePath给出的xpath代码,或者如果我执行webelement username=driver.findelement(by.id("email")),则会得到找不到的元素;
代码
在插入用户名和密码之前,只需切换到iframe,并使用以下C代码就可以做到这一点:
1 2 3 4 5 | driver.SwitchTo().Frame(driver.FindElement(By.TagName("iframe"))); var emailAddressLogin = driver.FindElement(By.Id("email")); emailAddressLogin.SendKeys("EnterEmailAddress"); var password = driver.FindElement(By.Id("password")); password.SendKeys("EnterPassword"); |
这是使用Paypal沙箱环境。
试一试:
1 2 3 4 | WebElement email = driver.findElement(By.cssSelector("#email")); email.click(); email.clear(); email.sendKeys("[email protected]"); |
它在我的机器上工作正常。
遵循C代码对我来说很好。尝试同样的使用Java,应该工作。
1 2 3 4 5 6 | [Test] public void TestMethod() { IWebElement username = driver.FindElement(By.CssSelector("form[name='login'] input#email")); username.SendKeys("anytext"); } |
所以我看了一点HTML,发现里面有一个表单……我能让它和这个代码一起工作:
1 2 3 4 5 |