我试图在Selenuim中使用C#代码建立一个网站,在Username
之后它会收到消息的时间
OpenQA.Selenium.WebDriverTimeoutException:' 40秒后超时'
这是我提到的代码。
//Enter user info
SetMethods.EnterText(driver, "Username", "svedanth", "ID");
SetMethods.EnterText(driver, "Password", "openopen", "ID");
SetMethods.Click(driver, "Next", "ID");
//Thread.Sleep(TimeSpan.FromSeconds(5));
wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(
By.XPath(".//*[@id='logOnContainer']/form/div[1]/button")));
答案 0 :(得分:0)
像这样创建一个新的WebDriverWait:
WebDriverWait customWait = new WebDriverWait(driver,TimeSpan.FromMinutes(5));
并做
customWait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.XPath(".//*[@id='logOnContainer']/form/div[1]/button")));
当您在代码中的某个时刻初始化等待时,您可能会将超时设置为40秒。
你遇到问题的原因是因为40秒后你的元素仍然不可见。在它们全部可见后,程序停止“等待”并继续执行其余代码。
如果愿意,可以通过更改我在示例中给出的TimeSpan来设置自己的超时。