首页 > 解决方案 > 当我单击登录按钮时,页面会刷新。为什么?

问题描述

我正在使用带有 C# 的 Selenium ChromeDriver nuget 包。每次单击登录时,页面都会刷新,但没有任何反应。当我手动点击它工作正常。

static void Main(string[] args)
{
            IWebDriver webDriver = new ChromeDriver();

            // opening chrome
            webDriver.Navigate().GoToUrl("http://google.com");

            // opening adp site
            webDriver.Navigate().GoToUrl("https://workforcenow.adp.com/workforcenow/login.html");

            Thread.Sleep(10000);

            // typing username 
            IWebElement usernameElement = webDriver.FindElement(By.Id("user_id"));
            usernameElement.Click();
            foreach(var letter in Username)
            {
                usernameElement.SendKeys(letter.ToString());
                Thread.Sleep(1000);
            }

            Thread.Sleep(5000);

            //todo: typing password
            IWebElement passwordElement = webDriver.FindElement(By.Id("password"));
            passwordElement.Click();
            foreach (var letter in Password)
            {
                passwordElement.SendKeys(letter.ToString());
                Thread.Sleep(1000);
            }

            Thread.Sleep(5000);

            //todo: click sign in
            IWebElement signInElement = webDriver.FindElement(By.Id("subBtn"));
            signInElement.Click();


            Console.ReadLine();
}

标签: c#selenium-webdriverselenium-chromedriver

解决方案


您是否尝试使用 Javascript 执行器单击?

IJavaScriptExecutor 执行器 = ((IJavaScriptExecutor)Driver); executor.ExecuteScript("arguments[0].click();",signInElement);


推荐阅读