Поиск по блогу

воскресенье, 28 декабря 2014 г.

Короткий пример с работы с jQuery из консоли $x для просмотров запроса Xpath

В плагине FirePath генерируем строку запроса XPath, открываем консоль, а в ней уже выполняем сначала var hr =$x('html/body/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/div[5]/div[2]/a/@href');, а потом пробуем примерhr[0].nodeValue)map(function(){return $(this).text(); }).get().join("\n")

In []:
<br/>[JavaScript MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
In [1]:
from  IPython.display import Image
Image('C:\\Users\\kiss\\Pictures\\pythonR\\catalog_1.png')
Out[1]:

Теперь, если мы захотим выполнить строчку в консоли, то получим список(?) javaScript, из которого я пока не умею вытаскивать значения

In []:
$x('html/body/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/div[5]/div[2]/a/@href');
In []:
[href="/catalog/lada_vaz/", href="/catalog/gaz/", href="/catalog/moskvich/", href="/catalog/tagaz/", href="/catalog/uaz/"]

Кстати, сооружение $x() - работает в консоли, и не работает в ScratchPad, о чем жалею... Однако, где там справка javascript, пора разобраться, что делать дальше с этой штукой в квадратных скобках...

Если это итерируемый объект, то стоит попробовать:

In []:
var hr =$x('html/body/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/div[5]/div[2]/a/@href');
hr[0];
hr[0].nodeValue)map(function(){return $(this).text(); }).get().join("\n");

Да, на выходе последней команды именно то, что надо:

In []:
"/catalog/lada_vaz/"

Теперь надо найти итератор, который бы перебирал все элементы



Посты чуть ниже также могут вас заинтересовать

Комментариев нет:

Отправить комментарий