在Selenium中具有多个条件的xpath

时间:2018-03-20 06:13:07

标签: selenium xpath selenium-webdriver

想要在特定行上找到具有多个条件的元素,

我想点击包含 ng-click =“condition001”的div,其父链接包含 Auto-001

因此查询变为:选择元素xpath(“// div [contains(@ ng-click,'condition001')]”)其中Link(“Auto-001”)

<tr ng-repeat="(abc, xyz)" ng-show="data.length > 0">
                <td class="x001">
                    <div class="x002">
                        <a class="x003" href="#">Auto-001</a>                           
                    </div>              
                </td>

                <td class="x004">
                    <div class="x005">
                        <div class="x006">
                            <div class="x007" ng-click="condition001" tabindex="0">
                                <i class="x008"></i>
                            </div>
                        </div>
                    </div>
                </td>
</tr>

请建议适用于上述标准的相关xpath代码,

1 个答案:

答案 0 :(得分:0)

点击通过 xpath 标识的 WebElement 作为("//div[contains(@ng-click,'condition001')]"),其中 partialLinkText ("Auto-001"),您可以使用以下 Java 代码行:

WebElement myElem = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='x003' and contains(.,'Auto-001')]//following::td[1]//div[@class='x007' and @ng-click='condition001']")));