2016-02-04 3 views
0

У меня есть один класс <div>, имеющий <a> тег и <h3> теги и те же <div>. Я просто хотел нажать <a> этого класса div на основе текста <h3>.Нажмите на кнопку, основанная на тексте в div-классе selenium

Согласно ниже примере, отд имя класса «продукт эк-высота», имеющий <h3> тег, который имеет некоторый текст «апплета Iphone 5S», если этот результат найден, то нажмите на <a> класс с именем "выбора-устройства -button ".

Но этот класс div поставляется несколько раз с другим текстом H3 на странице.

<div class="product eq-height" style="padding-bottom: 0px ! important; min-height: 329px;"> 
        <h3 class="h4">Apple Iphone 5S</h3> 

        <input name="productModel" value="Apple Iphone 5S" type="hidden"> 
        <div class="subtitle"> 
         <span>Apple</span> 
        </div> 
        <a class="select-device-button" href="javascript:void(0);"> 
         <div class="item"> 
         <img alt="" class="prod-img-lrg lazyloaded" data-src="https://vgeco-oat1.vodafone.com/images/Iphone 5S.jpg" src="https://vgeco-oat1.vodafone.com/images/Iphone 5S.jpg"> <noscript><img alt="" src="https://vgeco-oat1.vodafone.com/images/Iphone 5S.jpg"&gt;</noscript> 
         </div></a> 

         <div class="info"> 
         <div class="inner"> 
          <ul class="cost"> 
          <li><b>Total cost</b> 
          </li> 


          <li class="price">£ 300.00</li> 
          </ul> 


          <ul class="cost"> 
          <li><b>My cost</b> 
          </li> 

                               <li class="price">£ 106.99</li>        
          </ul> 
         </div> 


         <div class="cta"> 
          <a class="btn btn-sml select-device-button" href="javascript:void(0);">Select</a> 
         </div> 
         </div> 


         <div class="co-link-wrap txt-center"> 
         </div> 
        </div> 
+0

Сколько h3-тегов есть в вашем div ?? –

ответ

2

Это одно из возможного выражения XPath:

//div[@class='product eq-height' and h3='Apple Iphone 5S']/a[@class='select-device-button'] 

объяснение:

  • //div[@class='product eq-height' and h3='Apple Iphone 5S']: Выше XPath, первым найдет div элемента, где class значение атрибута равно "product eq-height" и имеет ребенка h3 со значением "Apple Iphone 5S".

  • /a[@class='select-device-button']: Тогда из найденных div элементов, то XPath возвращает дочерний элемент a где class значение атрибута равно "select-device-button".

1

Если я правильно понял, вы хотите найти a элемент через определенный div и h3, если да, то вы можете сделать это довольно просто так:

//div[h3[text()="Apple Iphone 5S"]]/a[@class="select-device-button"]

Вы ищете div, который имеет определенный элемент h3, и оттуда очень легко найти следующий элемент, который вы хотите, используя его атрибут класса или любой другой, который вам нужен/нужен.

Надеюсь, это поможет!

0

позволяет предположить, у вас есть структура, как ..

<div> 
<h3>Xyz</h3> 
<a>Something there</a> 
</div> 

и вы хотите нажать на <a> тегов при h3 нажатии

попытаться дать атрибут данных в h3 же идентификатору из a, а затем, когда пользователь нажимает на h3 и получает этот атрибут данных в скрипте java (attr("data")), а затем нажимает на него через скрипт java

Смежные вопросы