WebDriver Selenium:无法将用户名插入PayPal的用户名框

时间:2016-03-09 02:17:13

标签: java selenium-webdriver paypal

我很难让WebDriver输入PayPal网站的用户名框。我已经尝试过xpath,id,css但是必须有一些我在这里缺少的东西,因为它应该这么简单。文本框是代码最底部的文本框,其中input =“email”

有人可以在Paypal的网站上试试,然后就此向我上学吗?如果我只使用Firebug / Firepath给出的xpath代码,或者我使用WebElement username = driver.findElement(By.id(“email”)),我找不到元素。

code

4 个答案:

答案 0 :(得分:1)

所以我更多地看了一下HTML并意识到里面有一个表单....我能够使用这段代码:

String URL = ("https://www.paypal.com/signin/?country.x=US&locale.x=en_US");
    driver.get(URL);
    WebElement form = driver.findElement(By.cssSelector(".main form"));
    WebElement username = form.findElement(By.id("email"));
    username.sendKeys("test");

答案 1 :(得分:1)

遵循C#代码对我来说很好。使用Java尝试相同,应该工作。

[Test]
    public void TestMethod()
    {
        IWebElement username = driver.FindElement(By.CssSelector("form[name='login'] input#email"));
        username.SendKeys("anytext");
    }

答案 2 :(得分:1)

试试这个:

WebElement email = driver.findElement(By.cssSelector("#email"));
email.click();
email.clear();
email.sendKeys("abc@abc.com");

它在我的机器上工作正常。

答案 3 :(得分:1)

在使用以下C#代码插入用户名和密码之前,只需切换到iframe就可以做到这一点:

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沙箱环境。