首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用FindElements时的ImplicitWait超时行为

使用FindElements时的ImplicitWait超时行为
EN

Stack Overflow用户
提问于 2017-11-19 01:01:57
回答 1查看 681关注 0票数 0
代码语言:javascript
复制
IWebDriver driver = new RemoteWebDriver(uri, dc);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(60);
** Search google and end up at a Google Search Results page
List<IWebElement> elements = new List<IWebElement>();
elements.AddRange(driver.FindElements(By.XPath("//*[@id=\"vn1s0p1c0\"]")));

当我运行它时,如果页面上存在XPath,它就能工作,但是如果页面上不存在这个Xpath,它将等待,然后在60秒超时。我认为,如果找不到元素,FindElements的行为就是返回一个空列表。不知道我做错了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-19 01:35:02

问题是指定60秒时间等待搜索该元素。如果删除设置等待时间的第二行代码,则如果驱动程序页中不存在该元素,则该代码将返回空的IWebElement列表。否则,指定60秒搜索该元素将在60秒后抛出Timeout exception

以下代码将跳过超时问题:

代码语言:javascript
复制
IWebDriver driver = new RemoteWebDriver(uri, dc);
** Search google and end up at a Google Search Results page
List<IWebElement> elements = new List<IWebElement>();
elements.AddRange(driver.FindElements(By.XPath("//*[@id=\"vn1s0p1c0\"]")));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47372728

复制
相关文章

相似问题

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