下面是一段代码,其中包含三个具有相同属性的元素。 我如何访问第三个元素(3 rd div)。
<pre>
<div class="tab-bar ons-tab-bar__footer ons-tabbar-inner" qmx-tabs="">
<div class="tab-bar__item ng-scope" ng-repeat="tab in tabbarTabsList track by tab.page">
<div class="tab-bar__item ng-scope" ng-repeat="tab in tabbarTabsList track by tab.page">
<button class="tab-bar__button tab-bar-inner qmx-tab-active" ng-class="{'qmx-tab-active' : $index === activeTabIndex }" ng-click="loadTab($index)">
</div>
<div class="tab-bar__item ng-scope" ng-repeat="tab in tabbarTabsList track by tab.page">
<button class="tab-bar__button tab-bar-inner" ng-class="{'qmx-tab-active' : $index === activeTabIndex }" ng-click="loadTab($index)">
</div>
</div>
</div>
</pre>
我需要使用 findElement(By。)方法。
答案 0 :(得分:0)
如果确实需要使用findElement(By。)方法,可以使用xpath选择与描述符匹配的第N个元素
(//div)[3]
或者你可以使用findElement s (By。)方法来查找与描述符匹配的所有元素,并从该列表中获取第N个元素(或者如果需要多个元素则迭代它)< / p>
答案 1 :(得分:0)
您也可以使用By.cssSelector()
,因为您的商品位于<b>
标记下
driver.findElement(By.cssSelector("div.tab-bar b > div.tab-bar__item"));
此外,查看代码,您可能想要单击它。如果要单击它,则需要单击其下方的按钮。
driver.findElement(By.cssSelector("div.tab-bar b > div.tab-bar__item > button")).click();