Selenium c#下拉菜单跳转回原始状态

本文关键字:原始 原始状 状态 下拉菜单 Selenium | 更新日期: 2023-09-27 18:10:16

目前我正在做一个小项目来验证一些登录帐户。我遇到这个问题,当我选择提供商运河数字,然后点击"登录",下拉框跳回它的初始状态。当手工操作时,它工作得很好,但当使用UnitTest进行自动化时,它就不行了。我简化了代码(没有POM),它仍然不起作用。希望有人知道我的问题是什么。对于一个类似的网站,它工作得很好,但对于这个它不是…这是我现在的代码:

        IWebDriver driver = new FirefoxDriver();
        driver.Navigate().GoToUrl("http://video.sport1.nl");
        driver.FindElement(By.Id("login")).Click();
        new SelectElement(driver.FindElement(By.Id("provider"))).SelectByValue("canaldigitaal");
        driver.FindElement(By.Id("login")).Click();    

Selenium c#下拉菜单跳转回原始状态

问题是页面上有两个ID = login的元素。你可以看到,通过使用driver.FindElements(By.CssSelector("#login")).Count,它返回2。一个是DIRECT INLOGGEN链接(右上),另一个是INLOGGEN(红色按钮)。您错误地点击了重置一切的DIRECT INLOGGEN链接。试试这个

IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://video.sport1.nl");
driver.FindElement(By.Id("login")).Click();
new SelectElement(driver.FindElement(By.Id("provider"))).SelectByValue("canaldigitaal");
driver.FindElement(By.CssSelector("div.login > #login")).Click();

我先抓了一个父DIV div.login (DIV与类登录),然后找到A子(>)与ID登录。