硒等问题

时间:2017-07-21 19:32:54

标签: c# selenium

我有一个输入框,可以提取自动完成列表。这个列表拉得有点慢,所以我需要selenium才能在按下回车键之前等待,这将选择列表中的第一项。这是我到目前为止所拥有的

            webDriver.FindElement(By.Id("seg-gl-1")).SendKeys("2");
            webDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            webDriver.FindElement(By.Id("seg-gl-1")).SendKeys(Keys.Enter);

问题在于硒的进入太快了。我相信我错误地使用了implicitwait。谁能解释一下我的问题?

1 个答案:

答案 0 :(得分:1)

使用时

webDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);

您只设置默认的ImplicitWait时间。如果你想实际执行等待,比方说10秒,你可以使用

System.Threading.Thread.Sleep(5000);

通常你应该避免这种类型的等待,但我猜测你的应用程序后台执行了javascript / ajax调用,因此你应该等待这些调用才能在断言网站之前执行行为(因为这些调用可能会更新DOM等)。如需进一步的帮助,请参阅此主题中的答案:https://stackoverflow.com/a/45033412/6220192