Получить данные из

Всем привет.

В Selenium'е я нуб. Только начал вникать.

Использую Selenium2 WebDriver с C#.

Есть страница с кодом:

 

<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
       <head>
              <script type="text/javascript">
                    var rlSerial = '485472';      
                    ......
              </script>
              .....
       </head>
       .....
</html>
 
как получить данные из rlSerial?
 
Спасибо.

Привет, попробуйте element.getAttribute("rlSerial"), должно помочь.

сначала надо вытащить текст из script, это делается обычным xpath (//script) или css (script)

а дальше средствами языка программирования и регулярными выражениями или поиском текста в сторке выкусить, то что нужно из текста

по регулярным выражениям можно посмотреть след. видео, там очень подробно показано, как работать с регулярными выражениями

это текст javascript-a, а не аттрибут у элемента, поэтому данный код не стработает.

в head'e есть несколько скриптов. как знать или я в правильном?

 

спасибо.

это уже надо знать, как правильно строить правильные локаторы

на xpath это будет так //script[contains(text(),'rSerial')]

более подробно можно посмотреть видео

ок. пасиба. будем посмотреть.

Так как rlSerial в глобальной области видимости, то можно воспользоваться JavascriptExecutor'ом и передать ему такой скрипт "return rlSerial".

да, кстати это более элегантное решение, только надо быть 100% увереным, что переменная нигде не замещается на другое значение в javascript

Отлично! спасибо огромное. то что нужно. А то я уже накостылял с регулярками и индексами.

всего-то две строки

 

IJavaScriptExecutor js = driver as IJavaScriptExecutor;
string srlserial = js.ExecuteScript("return rlSerial").ToString();