【问题标题】:c# selenium chrome-webdrive write correct pathc# selenium chrome-webdriver 写入正确的路径
【发布时间】:2017-10-17 05:15:02
【问题描述】:

您好,我只想使用 selenium chromedriver 创建一个用于单击我的 stie 上的按钮的路径。 html 块代码如下所示:

<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>

我只想点击这个按钮:

<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();

但这不起作用。有人可以帮我写正确的这条路径吗?

【问题讨论】:

    标签: c# html selenium chrome-web-driver


    【解决方案1】:

    这适用于提供的 HTML

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

    【讨论】:

    • 非常感谢
    猜你喜欢
    • 2018-03-18
    • 2019-11-14
    • 1970-01-01
    • 2021-09-23
    • 2020-01-12
    • 2013-04-19
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多