2013-11-16 3 views
0

Итак, я использую Selenium и хотел бы получить определенную информацию, напечатанную на веб-странице. В отличие от обычной страницы, которая будет печатать текст, информация отображается другим способом. Источник на веб-странице выглядит следующим образом.Получение текста из оператора if

<div class="a"> 
    <script id="b"> 
     <div class="c"> 
      <div class="d"> 
       #if 
        Print X. 
       {else} 
        Print Y. 
      </div class> 
     </script> 
    </div class> 
</div class> 

Я хотел бы получить либо X, либо Y на основе того, что напечатано, как я могу получить эту информацию?

EDIT:

Мой сценарий тег выглядит следующим образом

<script id="plansTemplate" type="text/template" defer="defer"> 

И когда я запускаю следующую строку кода,

driver.findElement(By.xpath("//select[@id='plansTemplate']")).getText(); 

Я получаю ошибку

Не удалось найти элемент: {"method": "xpath", "selector": "// s Избранный [@ ID = 'plansTemplate'] "}

+0

Использование XPath является одним из способов. –

+0

Что бы я установил в качестве категории и какой будет идентификатор? – user2612619

+0

Используйте 'id' тега' script' и получите данные второго дочернего элемента div. Вы также можете получить элемент по его «классу», если это проще, и каждый класс 'div' отличается. Еще одно предложение - исправить ваш xml, чтобы ваши закрывающие теги совпадали. –

ответ

0

Я читал By и try -

driver.findElement(By.id("plansTemplate")); 
Смежные вопросы