2017-03-09 114 views
0

我试图让webdriver点击文本“打破东西”通过xpath/css选择器无济于事。下面是HTML硒webdriver:点击不工作的xpath

<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

应指定确切的节点名称div或野生卡 “任何节点” - 在这部分*

//[text()='Breaking Things'] 

象下面这样:

"//div[@class='name-wrapper']//div[text()='Breaking Things']" 

"//div[@class='name-wrapper']//*[text()='Breaking Things']" 
0

班级名称为name-wrapper。该-是重要

chromeDriver.findElement(By.xpath("//div[@class='name-wrapper']//[text()='Breaking Things']")).click(); 

@class='name wrapper'你实际上是告诉driver寻找一个WebElement与类,namewrapper

+0

噢噢,是的,你是对的 - 这是我手动输入的。语法正确吗?我试过几种不同的类型,它会抛出无效的表达式错误: – potatocode

相关问题