硒:输入用户名+密码

本文关键字:密码 用户 输入 | 更新日期: 2023-09-27 18:05:39

我目前正在使用c#和Selenium编写一个测试软件。我正在尝试输入用户名和密码,并使用网站的登录功能,但每次提交表单时,它都会以无效的用户名或密码返回,我相信它正在尝试输入数据,要么重复多次,要么在错误的字段中输入数据。

这是我的代码:

        private static void LogInAsUser()
    {
        Driver.FindElement(By.XPath("//a[contains(@href, '#login-window')]")).Click();
        Driver.FindElement(By.XPath("//input[contains(@id, 'UserName')]")).Click();
        Driver.FindElement(By.XPath("//input[contains(@id, 'UserName')]" )).SendKeys("exampleuser@exampleemail.com");
        Driver.FindElement(By.XPath("//input[contains(@id, 'Password')]")).Click();
        Driver.FindElement(By.XPath("//input[contains(@id, 'Password')]")).SendKeys("example");
        Driver.FindElement(By.XPath("//input[contains(@id, 'Password')]")).Submit();
        //Driver.FindElement(By.Id("btnLogin")).Submit(); //*[@id="btnLogin"] //*[@id="login-window"]/div/div/div[3]/div[1]/div
        {
        Result.Pass(60);
        }
    }

不是我知道的最干净的代码,但是任何帮助都会很感激。

硒:输入用户名+密码

如果你张贴你的HTML代码将是有帮助的,但即使没有它尝试这样做:

private static void LogInAsUser()
{
        Driver.FindElement(By.XPath("//a[contains(@href, '#login-window')]")).Click();
        IWebElement username = Driver.FindElement(By.XPath("//input[contains(@id, 'UserName')]" ));
        IWebElement password = Driver.FindElement(By.XPath("//input[contains(@id, 'Password')]"));
        username.Clear();
        username.SendKeys("exampleuser@exampleemail.com");
        password.Clear();
        password.SendKeys("example");
        Driver.FindElement(By.Id("btnLogin")).Click();
        {
            Result.Pass(60);
        }
}

您不需要输入元素的Click()方法,只需找到它们并发送数据即可。您只需要单击末尾的Login Button。