Как начать цикл по невидимым на странице объектам?

Поддержка
  • @uraabk ну дак на ней и ошибка

  • @senerg ну так она должна брать данные из "Код страницы" А код страницы должен из сайта брать данные

  • @senerg А что нужно получить то? Ссылки на картинки или что?
    Xpath @uraabk мне выдаёт сам скрипт:

    <![CDATA[
    	if(!window.runParams) {
    	window.runParams = {};
    	}
    	window.runParams.imageServer="https://ae01.alicdn.com";
    	window.runParams.imageDetailPageURL="//www.aliexpress.com/item-img/KAK-C-Series-Hinge-Stainless-Steel-Door-Hydraulic-Hinges-Damper-Buffer-Soft-Close-For-Cabinet-Cupboard/32807275319.html";
    	
    	window.runParams.imageBigViewURL=[
    									"https://ae01.alicdn.com/kf/HTB1mFdNniCYBuNkSnaVq6AMsVXah/C.jpg",
    																		"https://ae01.alicdn.com/kf/HTB1qfTsvuySBuNjy1zdq6xPxFXai/C.jpg",
    															"https://ae01.alicdn.com/kf/HTB13LHwvuuSBuNjy1Xcq6AYjFXa5/C.jpg",
    															"https://ae01.alicdn.com/kf/HTB1gOzghyMnBKNjSZFzq6A_qVXa4/C.jpg",
    															"https://ae01.alicdn.com/kf/HTB17viXnndYBeNkSmLyq6xfnVXaF/C.jpg",
    															"https://ae01.alicdn.com/kf/HTB1DzQovqmWBuNjy1Xaq6xCbXXar/C.jpg"
    									];
    	window.runParams.mainBigPic = "https://ae01.alicdn.com/kf/HTB1mFdNniCYBuNkSnaVq6AMsVXah/C.jpg";
    ]]>
    

    Ссылки здесь можно достать и элементарным

    "(http.*?)"
    

    Ну или

    "(http.*?\.jpg)"
    

    Вот тестовый скрипт

  • @fox это точно.

  • @fox said in Как начать цикл по невидимым на странице объектам?:

    Вот тестовый скрипт

    BAS не открывает: ошибка загрузки файла start tag expected

    Нажал кнопку перезагрузить скрипт - весь проект в БАСе полностью обнулился. И в папке backups все проекты пустые. Глючит софтина!

  • @senerg

    Глючит софтина!

    В 99% случаев глючит софтина из за кривых рук самих пользователей. Ты как сохраняешь проект то?

    Надо вот так:
    0_1537816910522_на форум38.gif

  • @fox Я мышкой ссылку на рабочий стол перетянул, зашел в БАС и нажал открыть.
    Сохранить объект у меня нету(
    0_1537817173651_2.png

  • @senerg

    Я мышкой ссылку на рабочий стол перетянул, зашел в БАС и нажал открыть.

    Это что то новенькое.. У меня при таких же манипуляциях создаётся ярлык на ссылку
    0_1537817528265_202ac56e-bbe5-485f-b072-d8b868682028-изображение.png


    Судя по всему браузер у тебя Google Chrome, скрипт в нём сохранить можно так:
    0_1537817596137_на форум39.gif

  • @fox Точно, я не посмотрел что ссылка сохранилась, а не xml. Но весь проект у меня похерился точно не из-за этого: нажал перезапустить скрипт и все, в списке ни одного действия. И в бэкапах все сохраненки пустые, свои косяки я признаю, но это явно баг.

  • @fox Твой скрипт берет лишний урл (самый последний). Чтобы выделить только нужные ссылки я пробовал поменять регулярку на вот эту. Почему она в БАС не работает, выдает пустой список?

    0_1537820432539_2.png

    0_1537820577450_3.png

  • @senerg

    Твой скрипт берет лишний урл (самый последний)

    Интересно, а я как должен был определить какие урлы нужные, а какие не нужные?

  • @senerg попробуйте перед знаком "]" поставить знак "\"

  • @fox Я без претензий, в любом случае спасибо. Просто тут чуть сложнее. Урлы выделены в красную рамочку на картинке в первом посте в этой теме.

    "([[\s\S]*]/gmi)"
    "([[\s\S]*])"
    "([[\s\S]*?])"
    

    Эти варианты тоже выдают пустой список. Я думал после этой регулярки применить вторую и получить что хочу, но почему-то и первая не работает.

    "((http)(.*)(?=")/gmi)"
    
  • @senerg Тогда в два этапа:
    0_1537823261384_f709f04b-c1b8-427b-ae51-1278f2580985-изображение.png

    Вот тестовый скрипт

  • @fox После выполнения скрипта шрифт размытый стал, сложно разобрать что написано. И иконки смазанные. Первый раз такое вижу.0_1537824192058_2.png

  • @senerg
    :D
    У тебя зрения упало)) Ну серьезно, по каждому чиху беспокоить сапорта, ну перезагрузи прогу - делов то :D

  • @fox
    У меня после твоего кода рука онемела, появилась аллергия на цитрусовые, что делать? :D

  • @olegtut

    У меня после твоего кода рука онемела, появилась аллергия на цитрусовые, что делать? :D

    Бегом курить кальян на святой воде! :D

  • @olegtut said in Как начать цикл по невидимым на странице объектам?:

    по каждому чиху беспокоить сапорта, ну перезагрузи прогу

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

    Мне казалось, что автор этой реально полезной проги заинтересован сделать ее лучше. По крайней мере так написано. Если о багах разработчику знать не интересно и бесплатный QA не нужен я могу о них не писать.
    0_1537879877835_ec169bd9-367e-416a-8b44-7c028209cc00-image.png

    @fox, спасибо. Стало на много понятнее. Можете прояснить еще несколько вопросов чтобы логику до конца понять:

    • Есть какая-то особенность, которая не позволяет извлечь одно совпадение с помощью "извлечь все данные"

    • Поддерживается или нет

    /gmi
    
    • Круглые скобки здесь обязательны
    [([\s\S]*?)]
    
    • Почему во втором запросе не работает выделение до закрывающей кавычки
    (http)(.*?)(?=")
    

    0_1537886220901_506ba952-f02d-44bf-bea6-74294de4e2a3-image.png

  • @senerg said in Как начать цикл по невидимым на странице объектам?:

    Мне казалось, что автор этой реально полезной проги заинтересован сделать ее лучше. По крайней мере так написано. Если о багах разработчику знать не интересно и бесплатный QA не нужен я могу о них не писать.

    А где вы сообщаете о ошибках?
    https://community.bablosoft.com/topic/2706/как-правильно-сообщить-об-ошибке


    Есть какая-то особенность, которая не позволяет извлечь одно совпадение с помощью "извлечь все данные"

    Действие "извлечь все данные" возвращает массив

    Поддерживается или нет /gmi

    В стандартных действиях BAS нет. Но они поддерживаются в действии "выполнить код", где можно создать свой RegExp.

    Круглые скобки здесь обязательны [([\s\S]*?)]

    Круглые скобки сообщают о группе. Здесь само выражение неправильное, квадратные скобки это диапазон, [([\s\S] поиск символов открывающейся круглой скобки, открывающейся квадратной скобки, пробельного символа и не пробельного символа.

    Почему во втором запросе не работает выделение до закрывающей кавычки

    Что означает фраза "во втором запросе"?