我正试图通过xpath/css
选择器让网络驱动程序单击文本“Breaking Things”无济于事。这是HTML
<div class="org-option" ng-repeat="Org in Organizations" aria-label="Select Breaking Things Organization" ng-click="Org.SelectOrg()" role="button" tabindex="0">
<div class="data">
<div class="data-relative">
<!---->
<div class="image-wrapper" ng-show="Org.HasImage" ng-if="Org.HasImage" aria-hidden="false">
<img class="onboard-logo" ng-src="/apiimage/organizations/f1544944fac34442998a05890c400338-0" src="/apiimage/organizations/f1544944fac34442998a05890c400338-0">
</div>
<!---->
<div class="image-wrapper ng-hide" ng-show="!Org.HasImage" aria-hidden="true">
<div class="image-placeholder">
<div class="center-icon gicon-panorama"></div>
</div>
</div>
<div class="name-wrapper">
<div>Breaking Things</div>
以下是我正在使用的驱动程序:
chromeDriver.findElement(By.xpath("//div[@class='name wrapper']//[text()='Breaking Things']")).click();
然而它永远不会点击,我错过了什么?我也试过隐式等待等没有结果。
答案 0 :(得分:0)
班级名称为name-wrapper
。 -
很重要
chromeDriver.findElement(By.xpath("//div[@class='name-wrapper']//[text()='Breaking Things']")).click();
在@class='name wrapper'
中,您实际上是在告诉driver
使用两个类,WebElement
和name
寻找wrapper
答案 1 :(得分:0)
您应该为&#34;任何节点&#34;指定确切的节点名称div
或通配符。 - 本部分中的*
//[text()='Breaking Things']
如下所示:
"//div[@class='name-wrapper']//div[text()='Breaking Things']"
或
"//div[@class='name-wrapper']//*[text()='Breaking Things']"