Selenium Webdriver angular.js 按钮

Selenium Webdriver angular.js button

我有我试图在 Selenium webdriver 中 运行 的代码。这是一个按钮,但我不能用 java 代码 select 它。你能帮我看看这是真的吗?

<mat-list-item _ngcontent-c7="" class="menu-item mat-list-item ng-star-inserted" id="kisiler"><div class="mat-list-item-content"><div class="mat-list-item-ripple mat-ripple" mat-ripple=""></div><div class="mat-list-text"></div>
          <!----><mat-icon _ngcontent-c7="" class="mat-icon material-icons ng-star-inserted" role="img" aria-hidden="true">group</mat-icon>
          <!---->
          <!----><mat-label _ngcontent-c7="" class="ng-star-inserted">Kişiler</mat-label>
        </div></mat-list-item>

我的代码是:

driver.findElement(By.id("[@id='kisiler']")).click();

要单击文本为 Kisiler 的元素,您需要引入 WebDriverWait 以使 元素可单击 并且您可以使用以下解决方案:

  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//mat-list-item[@class='menu-item mat-list-item ng-star-inserted' and @id='kisiler']//mat-label[@class='ng-star-inserted']"))).click();