А вы читали описание к действиям модуля JSON ? у вас есть несколько вариантов - например получить все значения по ключу и собирать их потом, или в цикле проходить и брать нужное ... Там в описании все подсказки есть.
Проблемы внутри "Начать цикл"
-
Всем привет! Пытаюсь достать ссылку внутри контейнера (их на странице несколько), если подходят под мои условия два блока внутри контейнера (две разных переменных). Делаю это в браузере через "Начать цикл" и переменные через "Получить текст".
Но траблы в том, что под переменную А вытаскиваются данные для переменной Б и наоборот. Достаю через xpath. В консоли когда ввожу xpath ищет все нужные элементы для обоих переменных, да и подсвечивается в браузере все нужное с верным количеством искомых элементов, но что-то не выходит.Если же выбрать начать цикл для двух искомых блоков (или для целого контейнера) и получать текст точно для каждой переменной (указав путь), то в таком варианте почему-то берется только первые строки для А и Б.
Если начать цикл также, но в "Получить текст" не указывать точный путь, то тут переменные перемешиваются.Вот xpath для контейнера
//[@id="search-results"]/div/div[2]/div[3]/div/div
Xpath для двух искомых блоков
.//[@id="search-results"]//div//div//div//div//div[(count(preceding-sibling::)+1) = 3]//p|.//[@id="search-results"]//div//div//div//div//div/following-sibling::[1]/self::div//h3
Xpath для первой переменной
//[@id="search-results"]/div/div/div/div/div/div[2]/h3
Xpath для второй переменной
//*[@id="search-results"]/div/div[2]/div/div/div/div[3]/psection_start("", 419090476)! ;_SELECTOR="\u003eXPATH\u003e.//*[@id=\u0022search-results\u0022]/div/div[2]/div[3]/div/div"; get_element_selector(_SELECTOR, true).length()! _do_with_params({"element_length":_result(),"querycss":("\u003eCSS\u003e#search-results div div div div div:nth-child(3) p , #search-results div div div div div+ div h3"),"querymatch":"\u003eMATCH\u003e\u003cp\u003eMacon, Georgia\u003c/p\u003e" , "queryxpath": ("\u003eXPATH\u003e.//*[@id=\u0022search-results\u0022]/div/div[2]/div[3]/div/div") },function(){ VAR_CYCLE_INDEX = _iterator() - 1 VAR_FOR_EACH_CSS = _cycle_param("querycss") VAR_FOR_EACH_MATCH = _cycle_param("querymatch") VAR_FOR_EACH_XPATH = _cycle_param("queryxpath") if(VAR_CYCLE_INDEX >= parseInt(_cycle_param("element_length")))_break(); section_insert() section_start("", 784773571)! log("Текущее повторение цикла : " + VAR_CYCLE_INDEX) section_end()! section_start("", 652566747)! _SELECTOR = VAR_FOR_EACH_XPATH + "\u003eAT\u003e" + VAR_CYCLE_INDEX + "\u003eXPATH\u003e //*[@id=\u0022search-results\u0022]/div/div/div/div/div/div[2]/h3"; wait_element(_SELECTOR)! get_element_selector(_SELECTOR, false).text()! VAR_SAVED_TEXT = _result() section_end()! section_start("", 232462739)! _SELECTOR = VAR_FOR_EACH_XPATH + "\u003eAT\u003e" + VAR_CYCLE_INDEX + "\u003eXPATH\u003e//*[@id=\u0022search-results\u0022]/div/div[2]/div/div/div/div[3]/p"; wait_element(_SELECTOR)! get_element_selector(_SELECTOR, false).text()! VAR_SAVED_TEXT2 = _result() section_end()! section_start("", 698417892)! log("A = " + VAR_SAVED_TEXT + " B = " + VAR_SAVED_TEXT2) section_end()!