【问题标题】:WebDriver Selenium: Cannot Insert Username into PayPal's username boxWebDriver Selenium:无法将用户名插入 PayPal 的用户名框中
【发布时间】:2016-06-23 05:52:45
【问题描述】:

我很难让 WebDriver 在 PayPal 网站的用户名框中输入内容。我已经尝试过 xpath、id、css,但这里一定有一些我遗漏的东西,因为它应该很简单。文本框是代码最底部的文本框,输入 = "email"

有人可以在 Paypal 的网站上尝试一下,然后教我这个吗?如果我只使用 Firebug/Firepath 给出的 xpath 代码,或者如果我使用 WebElement username = driver.findElement(By.id("email"));

code

【问题讨论】:

标签: java selenium-webdriver paypal


【解决方案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");

【讨论】:

    【解决方案2】:

    遵循 C# 代码对我来说效果很好。尝试使用 Java 进行相同的操作,应该可以。

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

    【讨论】:

      【解决方案3】:

      试试这个:

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

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

      【讨论】:

        【解决方案4】:

        在使用以下 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 沙盒环境。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-15
          • 1970-01-01
          • 2017-09-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多