如何单击带有特定文本的选项卡?

时间:2018-09-11 19:21:38

标签: c# selenium-webdriver

我需要在应用程序中单击“ Pis / Cofins”标签

<ul class="nav nav-tabs" id="tabs">
    <li class="">
        <a href="#dados" aria-controls="home" data-toggle="tab" aria-expanded="false">Dados Gerais</a>
    </li>
    <li class="active">
        <a href="#pisCofins" data-toggle="tab" aria-expanded="true">Pis/Cofins</a>
    </li>
    <li>
        <a href="#combustivel" data-toggle="tab">Combustíveis</a>
    </li>
    <li>
        <a href="#modoDeServir" data-toggle="tab">Modo de Servir</a>
    </li>
    <li>
        <a href="#imagens" data-toggle="tab">Imagens</a>
    </li>
    <li>
        <a href="#informacoes" data-toggle="tab">Informações</a>
    </li>
</ul>

2 个答案:

答案 0 :(得分:2)

您可以简单地使用以下xpath:

//a[text()='Pis/Cofins']

您可以在firefox中使用Firebug之类的扩展程序轻松找到定位器并将其用于测试脚本中

答案 1 :(得分:0)

根据您共享的 HTML ,点击带有 Pis / Cofins 文字的标签,您可以使用以下任一解决方案:

  • LinkText

    driver.FindElement(By.LinkText("Pis/Cofins")).Click();
    
  • CssSelector

    driver.FindElement(By.CssSelector("ul.nav.nav-tabs#tabs a[href$='pisCofins']")).Click();
    
  • XPath

    driver.FindElement(By.XPath("//a[contains(@href,'pisCofins') and contains(.,'Pis/Cofins')]")).Click();