как сопоставить текст в элементе div с помощью xpath? - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь найти элемент xml в селене, используя xpath.Он вложен внутрь.

У меня в руках номера 3498546 и 3498755.Мне нужно сопоставить эти числа с числами, перечисленными в

элементах, и найти конкретные.

Я пытался использовать различные комбинации с ниже: xpath = // * [@ id = "tabs"] / ul / li / [содержит (div, '3498546')]

Ноэто никогда не работало.

Ниже приведен пример HTML-кода, у меня есть около 100

, перечисленных в
<div id="tabs">
    <ul>
        <li class="unknown">
        <span style="">DELIVERED</span>
        <a title="A1" onclick="submitForm('e1:eForm',1);return false;" 
            class="eLink" href="#">
        <div class="c1">"Year 2008
                                                          "
            <br>"3498546
                                                           "
            <br>
            </div>
            <strong>Date: </strong>05/14/2019
       </a>
    </li>
    <li class="unknown">
        <span style="">DELIVERED</span>
        <a title="A2" onclick="submitForm('e1:eForm',1);return false;" 
           class="eLink" href="#">
            <div class="c1">"Year 2008  
                                                         "
                <br>"3498755
                                                      "
                <br>
            </div>
                <strong>Date: </strong>05/14/2019</a>
    </li>
  </ul>
</div>

Я хочу иметь возможность найти и щелкнуть элемент с текстом3498546 или 3498755.

Ответы [ 3 ]

0 голосов
/ 17 мая 2019
//div[contains(text(),'3498755')]

Все, что вам нужно, это найти элемент div, текст которого содержит искомые числа.

0 голосов
/ 17 мая 2019

К click() на любом из элементов с текстом 3498546 или 3498755 вы можете использовать следующие решения:

  • 3498546

    • Java & partalLinkText :

      driver.findElement(By.partialLinkText("3498546")).click();
      
  • 3498755

    • Java & partalLinkText :

      driver.findElement(By.partialLinkText("3498755]")).click();
      
0 голосов
/ 17 мая 2019

Вот xpath, основанный на 3498546.

//div[@class='c1'][contains(normalize-space(.),'3498546')]

Вы можете изменить значение 3498546 на требуемое число и использовать его. Если вы хотите получить все элементы с номерами и щелкнуть по каждому из них, вы можете использовать приведенный ниже xpath.

//div[@id='tabs']//div[@class='c1']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...