C # Selenium не может найти кнопку - PullRequest
0 голосов
/ 06 мая 2018
<form name="loginForm" ng-submit="login()" autocomplete="off" class="ng-pristine ng-invalid ng-invalid-required">
<button type="submit" class="icon-login" ng-disabled="!loginForm.$valid" disabled="enabled"></button>
<input type="text" name="username" id="username" placeholder="Username / Email" autocapitalize="off" autocorrect="off" required="" ng-model="credentials.username" class="ng-pristine ng-invalid ng-invalid-required">
<input type="password" name="password" id="password" placeholder="Password" autocapitalize="off" autocorrect="off" required="" ng-model="credentials.password" class="ng-pristine ng-invalid ng-invalid-required">
</form>    

Я пытался:

  IWebElement button = driver.FindElement(By.ClassName("icon-login"));

Но это не сработало, и когда я сделал скриншот, оказалось, что кнопка просто не видна, хотя она должна быть ...

Я тоже пытался использовать ожидание, но время ожидания истекло даже с минутой

редактирование:

IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(3)).Until(ExpectedConditions.ElementExists(By.XPath("//form[@name='loginForm']/button[@class='icon-login']")));

Попробовал, но время истекло, элемент существует, но не кликабелен

1 Ответ

0 голосов
/ 06 мая 2018

Согласно вашему обновлению комментария вместе с url кажется, что поле Имя пользователя , Пароль и кнопка Логин находятся в пределах форма. Поэтому, заполнив поля Имя пользователя , Пароль , вы можете сразу же вызвать метод Submit() для входа на сайт следующим образом:

new WebDriverWait(driver, TimeSpan.FromSeconds(3)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//input[@id='username' and @name='username']"))).SendKeys("refactorcoding");
driver.FindElement(By.XPath("//input[@id='password' and @name='password']")).SendKeys("refactorcoding");
driver.FindElement(By.XPath("//input[@id='password' and @name='password']")).Submit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...