首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium等待问题

Selenium等待问题
EN

Stack Overflow用户
提问于 2017-07-22 03:32:54
回答 1查看 76关注 0票数 2

我有一个输入框,可以拉出一个自动补全列表。这个列表拉取起来有点慢,所以我需要selenium在按enter键之前等待,这将选择列表中的第一个项目。这是我到目前为止所掌握的

代码语言:javascript
复制
            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。有人能解释一下我的问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-24 12:32:49

当您使用

代码语言:javascript
复制
webDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);

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

代码语言:javascript
复制
System.Threading.Thread.Sleep(5000);

一般来说,您应该避免这种类型的等待,但我猜您的应用程序后台中执行了javascript/ajax调用,因此您应该等待这些调用执行,然后才能断言站点行为(因为这些调用可能会更新DOM等)。关于这方面的更多帮助,请参考我在这个帖子中的回答:https://stackoverflow.com/a/45033412/6220192

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45245430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档