Selenium Web驱动程序使用Java查找Element

Selenium Webdriver find Element using Java

本文关键字:Java 查找 Element Web 驱动程序 Selenium      更新时间:2023-09-26

有人能解决这个问题吗?

类名是相同的。我不想使用Xpath。唯一的区别是aria控件,如下html所示。我应该怎么做才能找到元素并点击选项卡?

<li class="ng-pristine ng-untouched ng-valid ng-binding ng-scope resp-tab-item resp-tab-active" ng-model="danceCat.category" ng-init="$last ? checklast() : null" ng-repeat="danceCat in dancestyles.data.learn" aria-controls="tab_item-0" role="tab"> A
<li class="ng-pristine ng-untouched ng-valid ng-binding ng-scope resp-tab-item" ng-model="danceCat.category" ng-init="$last ? checklast() : null" ng-repeat="danceCat in dancestyles.data.learn" aria-controls="tab_item-1" role="tab"> B
<div class="dance_style_number ng-binding" align="right">3</div>

<li class="ng-pristine ng-untouched ng-valid ng-binding ng-scope resp-tab-item" ng-model="danceCat.category" ng-init="$last ? checklast() : null" ng-repeat="danceCat in dancestyles.data.learn" aria-controls="tab_item-2" role="tab"> C
<div class="dance_style_number ng-binding" align="right">2</div>

<li class="ng-pristine ng-untouched ng-valid ng-binding ng-scope resp-tab-item" ng-model="danceCat.category" ng-init="$last ? checklast() : null" ng-repeat="danceCat in dancestyles.data.learn" aria-controls="tab_item-3" role="tab"> D
<li class="ng-pristine ng-untouched ng-valid ng-binding ng-scope resp-tab-item" ng-model="danceCat.category" ng-init="$last ? checklast() : null" ng-repeat="danceCat in dancestyles.data.learn" aria-controls="tab_item-4" role="tab"> E

如果你想使用css选择器,这将很好地工作

driver.findElement(By.cssSelector("li[aria-controls='tab_item-1']"));