У меня есть следующий элемент на моей веб-странице:
<button id="btnPackageDownloadtopPackageTable1dde0fcb2-948b-4bbc-b347-40deb2f6034e"
title="Download package" ng-style="{'display': ''}"
ng-show="!PackageManagementCtrl.downloadStartedForPackage['topPackageTable1dde0fcb2-948b-4bbc-b347-40deb2f6034e']"
phd="{"action": "enable", "code": 3002}"
phd-unit="Bank(Y)" class="btn action-btn" style="margin-left: 5px;" type="button"
ng-click="PackageManagementCtrl.downloadPackage('dde0fcb2-948b-4bbc-b347-40deb2f6034e',
'Pack_110','topPackageTable1dde0fcb2-948b-4bbc-b347-40deb2f6034e')">
<i class="fa fa-download"></i> Download</button>
Это выражение CSS, которое я передаю своему коду Selenium:
[phd-unit = ' Банк (Y) '] [ng-click * =' Pack_110 '] [ng-click * =' downloadPackage ']
Мой код:
@Test
public void findElementByCss() {
softAsserter = new SoftAsserter(testParameters);
String CssExpresion = testParameters.get("actionData");
WebElement optionToFind = null;
try {
WebDriverWait wait = new WebDriverWait(browser, 5);
optionToFind = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(CssExpresion)));
}
catch (Exception ex){
softAsserter.fail(ex.getMessage());
}
if (optionToFind==null) {
softAsserter.fail("failed to failed element with expression: " + CssExpresion);
}
if (optionToFind!=null) {
softAsserter.assertTrue(true, "Element found by attributes: </br>" + CssExpresion);
}
if (softAsserter.isOneFailed()) {
asserter.fail("findElementByCss failed");
}
}
Почему мой код не удается найти этот конкретный c элемент?