C#Selenium无法找到按钮

时间:2018-05-06 16:23:38

标签: c# selenium phantomjs

<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 :(得分:0)

As per your comment update along with the url it seems the Username, Password field and the Login button all are within a form. So once you fill up the Username, Password fields you can straightway invoke the <div class="slider-container"> <div class="slider"> <img class="fadeimg" src="https://dummyimage.com/640x310/0000ff/fff" alt=""> <img class="fadeimg" src="https://dummyimage.com/640x310/ff0000/fff" alt=""> <img class="fadeimg" src="https://dummyimage.com/640x310/00ff00/fff" alt=""> <div class="gradient"></div> </div> </div> method to login into the website as follows :

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-
build-tools