2017-10-16 34 views
0

嗨,我想創建一個路徑,單擊我的stie使用硒chromedriver上的按鈕。 HTML內容的代碼如下所示:c#selenium chrome-webdrive寫入正確的路徑

<tr ng-repeat="row in rowCollection" ng-class="{ &quot;error-row&quot;: row.errorMessage }" ng-style="vm.getColor(row)" class="ng-scope" style="background: rgb(255, 242, 255) none repeat scroll 0% 0%;"> 
    <td class="ng-binding">Wylaczenie nadan RDF</td><td class="ng-binding">WAITING_FOR_NOTIFICATION</td> 
    <td> 
     <a href="" ng-click="vm.showProcessDiagram(row.executor)" class="ng-binding">rfsSendingExecutor</a> 
    </td> 
    <td class="ng-binding">2017-09-06 11:14:12</td><td class="ng-binding">2017-09-06 11:14:13</td> 
    <td has-role="REQUEST" class="text-center"> 
    <!-- ngIf: row.inXml || row.outXml --> 
    <button ng-if="row.inXml || row.outXml" ng-click="vm.showXml(row)" title="Show" class="btn btn-xs ng-scope"><span class="fa fa-code"></span></button> 
    <!-- end ngIf: row.inXml || row.outXml --> 
    </td> 
    <td has-role="ERROR" class="text-center"><button ng-show="row.errorMessage" ng-click="vm.showError(row.errorMessage)" title="Show" class="btn btn-xs ng-hide"><span class="fa fa-search"></span></button></td> 
    <td class="text-center"> 
    <button ng-show="vm.enableCancel(row)" ng-click="vm.cancelTask(row.workItemId)" title="Cancel" class="btn btn-xs ng-hide"> 
     <span class="fa fa-ban text-warning"></span> 
    </button> 
    <button ng-show="vm.enableRepeat(row)" ng-click="vm.repeatTask(row.id)" title="Repeat" class="btn btn-xs ng-hide"> 
     <span class="fa fa-refresh text-success"></span> 
    </button> 
    <button ng-show="vm.enableRepeat(row)" ng-click="vm.repeatTaskWithParams(row.id)" title="Repeat with parameters" class="btn btn-xs ng-hide"> 
     <span class="fa fa-refresh text-warning"></span> 
    </button> 
    <button ng-show="vm.enableSkip(row)" ng-click="vm.skipTask(row.workItemId)" title="Skip" class="btn btn-xs"> 
     <span class="fa fa-angle-double-right text-success"></span> 
    </button> 
    </td> 
</tr> 

我想只要按一下exacly這個按鈕:

<button ng-show="vm.enableSkip(row)" ng-click="vm.skipTask(row.workItemId)" title="Skip" class="btn btn-xs"> 
     <span class="fa fa-angle-double-right text-success"></span> 

我嘗試這樣: 這是運作良好,並單擊我的按鈕:

drive.FindElement(By.XPath($"//tr[td='Wylaczenie nadan RDF']//button[@title='Skip']")).Click(); 

但我需要的僅僅是爲這條路徑增加另一個值。 它應該是這樣的: Wylaczenie nadan RDFWAITING_FOR_NOTIFICATIONrfsSendingExecutor最後當這個路徑是正確的,然後單擊按鈕。

我嘗試這樣:

drive.FindElement(By.XPath($"//tr[td='Wylaczenie nadan RDF'] AND tr[td='WAITING_FOR_NOTIFICATION'] AND tr[td='rfsSendingExecutor']//button[@title='Skip']")).Click(); 

但這不起作用。有人能幫我寫出正確的這條道路嗎?

回答

0

這個工程上的HTML提供

By.XPath("//tr[td='Wylaczenie nadan RDF'][td='WAITING_FOR_NOTIFICATION'][td/a='rfsSendingExecutor']//button[@title='Skip']") 
+0

非常感謝你 –