2016-11-17 2 views
2

В этом приложении есть возможность активировать или деактивировать канал.Нужно получить текст подсказки инструмента из активного элемента span, расположенного внутри другого диапазона в селене

Когда этот канал активирован, включается диапазон, содержащий подсказку инструмента для деактивации, как показано ниже. chanel activated

Аналогично, когда этот канал деактивирован, включается диапазон, содержащий подсказку для активации, как показано ниже.

channel de-activated

Если я могу понять, к активной XPath пролету я смог бы проверить этот элемент. BUt с трудным временем для поиска xpath до active span.

</span> 
             <span id="stat965"> 
              <span class="btn btn-small deactivateBtn btn-warning" href="javascript:void(0);" data-toggle="tooltip" onclick="status('ZVJxWHlYYUhMaWxZM2xqT1A2YTdydz09' ,'false','TWITTER',965);" title="" data-original-title="Deactivate"> 
               <i class="fa fa-times"></i> 
              </span> 
              <span class="btn btn-small activateBtn btn-primary" data-toggle="tooltip" style="display: none;" href="javascript:void(0);" onclick="status('ZVJxWHlYYUhMaWxZM2xqT1A2YTdydz09' ,'true','TWITTER',965);" title="" border="0" data-original-title="Activate"> <i class="fa fa-check"></i> 
              </span> 

            </span> 

code for validation

ответ

1

Используйте isDisplayed метод на следующих веб-элементы, которые говорят, отображается ли на веб-странице или нет этот элемент.

попробовать Deactivate тег диапазона со следующими XPATH:

//span[@style="display: inline-block;" and @data-original-title="Deactivate"] 

возвращает WebElement only if Deactivate span tag is active в противном случае нуль, так что вы можете проверить Activate тег диапазона.

для Activate тег диапазона со следующими XPATH:

//span[@style="display: inline-block;" and @data-original-title="Activate"] 
+0

Если я использую это, я всегда получаю деактивацию, которая является первым в коде. Если я могу найти, какой диапазон активен, я могу получить подсказку инструмента, используя выше xpath. Но как найти активный диапазон. –

+0

@ NagarjunaReddy обновил ответ. пожалуйста, попробуйте. –

+0

это не работает –

0

Пожалуйста, попробуйте ниже CSS для, чтобы определить Activate:

span.activateBtn 

Пожалуйста, попробуйте ниже CSS для, чтобы определить дезактивировать:

span.deactivateBtn 
+0

, определяющий активный диапазон. Если я смогу идентифицировать, то я могу получить подсказку инструмента, сопоставить ее, а затем проверить ее. –

0

Согласно вам, только один элемент (span) должен быть активным. Правильно? Если да, вы можете использовать включенный метод. Включенный метод вернет true, если элемент включен. В соответствии с вашими потребностями вы можете обработать возвращаемое значение. Пример:

if(driver.findelement(By.xpath("//span[@data-original-title="Deactivate"]).enabled) 
{ 
// do your actions 
} 

И проверьте то же самое для активирования элемента и продолжите свои действия в соответствии с вашими потребностями.

+0

driver.findElement (By.xpath ("// tr [1]/td [5]/div/span [3] // span [@ data-original-title = \" Deactivate \ "]")). IsEnabled() не работает. Селен всегда дезактивирует, поскольку он написан первым в коде. –

0

, если вы хотите, чтобы найти дезактивированы срок, используйте ниже CSSSelector:

span[class*="deactivateBtn"] 

для выбора Деактивировать срок, используйте ниже CSSSelector:

span[class*="activateBtn"] 

надеюсь, что это помогает, и дайте мне знать, что является результатом.