SeleniumExtras.WaitHelpers.ExpectedConditions - PullRequest
0 голосов
/ 27 марта 2019

Я написал следующее:

double waitTime = 10;

new WebDriverWait(driver, TimeSpan.FromMilliseconds(waitTime).until
(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.XPath("//input[@id='usernameOrEmail']"))).sendKeys("John Doe"));

Ошибка, которую я получаю для приведенного выше кода: «TimeSpan», не содержит определения «до» .. У меня сложилось впечатление, что «до» является частью библиотеки «SeleniumExtras.WaitHelpers»?

1 Ответ

1 голос
/ 27 марта 2019

Если вы используете c #, я думаю, вам просто нужно несколько типографских исправлений. Как упомянул @Guy, вам не хватает закрывающей скобки до; Также методы Until и SendKeys должны начинаться с заглавной буквы в C #. Поэтому я думаю, что это должно быть

double waitTime = 10;

new WebDriverWait(driver, TimeSpan.FromMilliseconds(waitTime)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.XPath("//input[@id='usernameOrEmail']"))).SendKeys("John Doe"));

или я думаю, что немного яснее, если вы поделите свое ожидание на две строки:

double waitTime = 10;

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromMilliseconds(waitTime));
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.XPath("//input[@id='usernameOrEmail']"))).SendKeys("John Doe"));

Мой единственный нерешенный вопрос касается вашего времени ожидания - 10 миллисекунд? Это сделает так, что он будет ждать БОЛЬШЕ 10 мс, это то, что вы хотите?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...