【发布时间】:2017-12-27 23:08:21
【问题描述】:
我有一个输入框,可以拉出一个自动完成列表。列表拉起来有点慢,所以我需要 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);
问题是 selenium 击中 Enter 太快了。我相信我错误地使用了implicitwait。谁能解释一下我的问题?
【问题讨论】:
-
为了澄清,您设置的隐式等待被所有后续 FindElement 调用等使用。如果您设置为 10 秒 ImplicitWait,这意味着 webdriver 将在抛出 ElementNotFoundException 之前尝试查找元素 10 秒。