Angularjs 如何通过selenium webdriver单击角度元素?
需要更多下面的帮助,请单击“稍后询问”按钮上的()Angularjs 如何通过selenium webdriver单击角度元素?,angularjs,xpath,css-selectors,webdriver,webdriverwait,Angularjs,Xpath,Css Selectors,Webdriver,Webdriverwait,需要更多下面的帮助,请单击“稍后询问”按钮上的() <div align="center" class="mar-b0"> <button class="custom-green md-button md-ink-ripple no-margin md-button" type="button" ng-transclude="" ng-click="vm.goHome();"> <span class="ng-binding ng-
<div align="center" class="mar-b0">
<button class="custom-green md-button md-ink-ripple no-margin md-button"
type="button" ng-transclude="" ng-click="vm.goHome();">
<span class="ng-binding ng-scope">Ask me later</span>
</button>
</div>
元素是元素,因此要在元素上单击(),您必须引导WebDriverWait使元素可单击,并且您可以使用以下任一选项:
- 使用cssSelector:
- 使用xpath:
下面是代码-稍后再问我,当您的代码执行时会发生什么?它是否单击或引发任何异常?感谢您的支持。以上代码可以工作,但只能工作一次。我需要初始化它还是请建议如何继续。@ShipraSaxena此解决方案特定于您为其提供HTML的
元素。
new WebDriverWait(driver, 20)
.until(ExpectedConditions.elementToBeClickable(
By.xpath("//span[@class='ng-binding ng-scope' and contains(.,
'ASK ME LATER')]"))).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button.custom-green.md-button.md-ink-ripple.no-margin.md-button[ng-click*='goHome']>span.ng-binding.ng-scope"))).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='custom-green md-button md-ink-ripple no-margin md-button' and contains(@ng-click, 'goHome')]/span[@class='ng-binding ng-scope' and text()='Ask me later']"))).click();