Правила оформления сообщений в данном топике:
Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [ spoiler][ noindex]http://адрес_сайта/название_страницы[ /noindex][ /spoiler]
Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [ spoiler][ code]ваш код[ /code][ /spoiler]
или выложите на сайт «Pastebin».
При размещении объемных материалов, используйте тег "Spoiler" - [ spoiler]ваш текст[ /spoiler]
или выложите на сайт «Pastebin».
Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [ spoiler][ img]http://ссылка_на_изображение[ /img][ /spoiler]
.
«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон
«Не каждый вопрос заслуживает ответа.»
Сайрус
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Как исправить баг аймакроса насчёт остановки скрипта, вот нажал я на кнопку стоп, а аймакрос не останавливается. В настройках imacros показ js включён.
Отсутствует
Здравствуйте! Ребята, подскажите пожалуйста как записать аймакрос так, чтоб было нажатие на выбор страны на сайте Алиэкспресс.
Отсутствует
Вот что написано в коде страницы на элемент который надо нажимать
TAG POS=1 TYPE=div ATTR=class:ng-item-wrap<SP>ng-item<SP>ng-switcher TAG POS=1 TYPE=div ATTR=data-role:region-pannel TAG POS=1 TYPE=A ATTR=ID:switcher-info EVENT TYPE=CLICK SELECTOR="#switcher-info" BUTTON=0
Подскажите пожалуйста команду, как записать, чтоб выпадающий список раскрывался?
чтоб было вот так (как вручную мышью нажимаю):
Отредактировано Denzar (04-10-2021 11:11:14)
Отсутствует
Есть предположение, что тут надо применять функцию имитации мыши с помощью js скрипта. Функцию такую я нашёл, но как конкретно её применять, подскажите пожалуйста
/***-= Функция имитации мыши =-***/ function triggerMouseEvent (node, eventType) { var clickEvent = window.document.createEvent ('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); }
Отсутствует
TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" 'TAG POS=1 TYPE=li ATTR=data-code:"by"
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Попробуй такВыделить кодКод:
TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" 'TAG POS=1 TYPE=li ATTR=data-code:"by"
Попробовал, не получается все равно, не раскрывается выпадающий список. Однако есть такой нюанс (он и раньше был), когда работает скрипт, когда страница почти загрузилась и в этот момент нажать в ручную мышью куда нибудь на страницу (только не на ссылку, чтоб по ней не перейти), то после этого, когда страница загрузится и далее скрипт нажимает на список выпадающих стран, то этот список выпадает и страны открываются, можно их выбирать. Но если вручную мышью не клацать, то список стран так и не открывается чисто скриптом.
То есть тут я так понимаю это связано с работой ява-скриптов которые в самом исходном коде страницы сайта алиэкспресс. Конкретно с вот этим HREF:javascript:void(0). Вот у тебя он в самой первой строке прописан и я когда сразу увидал твой код, то с радостью подумал, что ну вот это должно сработать, тем более учитывая твои знания и опыт в ява-скриптах и то сколько много полезного, дельного и толкового ты давал на этом форуме. Но всё равно огромное спасибо! Попробую ещё пошаманить с самой первой строкой, что у тебя в коде, может надо её как то иначе записать. Буду пробовать)
Отсутствует
Как сделать такой цикл на js ?
// Первый цикл +1 = TAG POS=1 // Второй цикл +2 = TAG POS=3 // Третий цикл +3 = TAG POS=6 // Четвёртый цикл +4 = TAG POS=10
Сделал. Оставлю здесь.
Может кому-то понадобится.
var loop = 1 var myArray = [] for(i=0;i<100;i++){ myArray.push(loop) var myCycle = myArray.map(y=>x+=y, x=0).reverse()[0] alert(myCycle) loop++ }
исправлено
Не совсем то, что я хотел. Всё ровно нужна помощь.
Если мне надо начать с 33, то нужно чтобы было так
// Первый цикл TAG POS=33 // +1 // Второй цикл TAG POS=34 // +2 // Третий цикл TAG POS=36 // +3 // Четвёртый цикл TAG POS=39
не подавайте дурной пример, не используйте русские наименования переменных при кодинге, не превращайте JS в недоязык программирования от 1С
InfSub
Отредактировано Алим (05-10-2021 16:55:24)
Истина в последней инстанции
Отсутствует
Вот этот код в принципе рабочий
Отсутствует
Denzar Что вы голову ломаете? Эти параметры записываются в сессионную куку с именем aep_usuc_f
Запись своего значения в куку по имени или по домену, как угодно, делается так
var { Services } = Components.utils.import("resource://gre/modules/Services.jsm"); Services.cookies.add(".aliexpress.ru", "/", "aep_usuc_f", "b_locale=es_ES&c_tp=RSD&city=917477776580000000&province=917477770000000000®ion=RU&site=rus", false, false, true, Date.now());
всё что в кавычках начиная со слова b_locale заменить на свои значения
Алим
Отредактировано Squatter (05-10-2021 17:39:42)
Отсутствует
Squatter Спасибо огромное! Всё получилось! Работает как надо!
PS Не. Всё равно не так как надо. Приходится всё равно открывать выпадающий список стран и нажимать там кнопку SAVE. И когда страница после этого перезагрузится, то купон становится таким номиналом какой есть на самом деле. Поэтому тут мне всё же желательнее было бы такой код в ява-скрипте, который бы нажимал так, чтоб выпадающее окно со списком стран всё таки выпадало. Но как это сделать... непонятно
Отредактировано Denzar (05-10-2021 19:30:07)
Отсутствует
А может стоит применить функцию имитации мыши? Есть такая, нашёл в интернете.
/***-= Функция имитации мыши =-***/ function triggerMouseEvent (node, eventType) { var clickEvent = window.document.createEvent ('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); }
Отредактировано Denzar (06-10-2021 12:34:29)
Отсутствует
Denzar
Да куда ты лезешь, JS это для уровня/модуса бога, тебе такое рановато.
Ты лучше потрать немного времени с обычными командами имакроса разберись, сядь один раз, разберись как оно работает...
потом сюда подставь нужный тип и атрибут TYPE=... ATTR=...
это всё команды для одного и того же элемента
TAG POS=1 TYPE=A ATTR=id:"switcher-info"
или так
TAG POS=1 TYPE=A ATTR=data-role:"menu"
или так
TAG POS=1 TYPE=A ATTR=class:"switcher-info notranslate"
или так
TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0)
обрати внимание что знак ( = ) заменяется на ( : ) двоеточие
если на сайте несколько элементов с похожими атрибутами то
можешь комбинировать их с помощью знака &&
TAG POS=1 TYPE=A ATTR=data-role:"menu"&&HREF:javascript:void(0)
Я не знаю чем тебе этот код не угодил
у меня всё прекрасно отрабатывает
TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" WAIT SECONDS=2 'TAG POS=1 TYPE=BUTTON ATTR=TYPE:button
Если его один раз запускаешь окно выбора открывается
а если ещё раз запустить, то это окно закроется, но страну всё равно выберет.
Ты запусти код и если окно закрылось то раскрой его и посмотри правильно ли выбрало страну.
Модер не надо этот пост править.
В тегах code не работают другие теги, и нельзя цвета и/или шрифт выделить
Отредактировано PRESIDENT (06-10-2021 22:49:21)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Я не знаю чем тебе этот код не угодил
у меня всё прекрасно отрабатывает
PS видео лучше скачать и глядеть на компе в оригинале. На яндекс-диске оно воспроизводится не очень качественно.
PPS попробуй пожалуйста воспроизвести у себя этот код. Там всего лишь добавлена команда CLEAR и ссылка на сайт Али по которой надо переходить.
PPPS команда CLEAR в начале кода обязательна!
CLEAR URL GOTO=https://www.aliexpress.com/item/4001297334567.html TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON ATTR=TYPE:button
Отредактировано Denzar (06-10-2021 21:31:11)
Отсутствует
Если его один раз запускаешь окно выбора открывается
А ты попробуй с новой чистой страницы, точнее в новой чистой вкладке браузера загрузить страницу. И список выбора стран не откроется.
TAB CLOSEALLOTHERS TAB OPEN TAB T=2 TAB T=1 TAB CLOSE WAIT SECONDS=2 CLEAR URL GOTO=https://www.aliexpress.com/item/4001297334567.html TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON ATTR=TYPE:button
Попробуй запустить у себя именно этот код, что я сейчас тут написал. Он закрывает все вкладки, открывает новую и в ней исполняется с чистого нового листа и чистыми куками. И в новой вкладке браузера загружает страницу и только после этого уже нажимает на открытие списка стран.
Попробуй пожалуйста, выпадет ли список стран, посмотрим.
Отредактировано Denzar (07-10-2021 12:00:59)
Отсутствует
Всем привет, подскажите, как импортировать текст из файла и вставить, чтобы отправить, много вариантов с нета пробывал, но текст не вставляется, просто нажимает и все,есть 2 файла в одном текст, в другом список групп.
SET !REPLAYSPEED MEDIUM SET !ERRORIGNORE YES SET !ERRORCONTINUE YES SET !EXTRACT_TEST_POPUP NO SET !DATASOURCE C:\gruppy.txt SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} URL GOTO={{!COL1}} SET !DATASOURCE C:\tekst.csv SET !DATASOURCE_LINE {{!LOOP}} WAIT SECONDS=2 EVENT TYPE=CLICK SELECTOR="#ng-app>BODY>DIV>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV:nth-of-type(3)>DIV>DIV:nth-of-type(3)>DIV:nth-of-type(2)>DIV>DIV>DIV>FORM>DIV:nth-of-type(2)>DIV:nth-of-type(5)" BUTTON=0
Отсутствует
dmitriy8720
SET !LOOP 1 SET !REPLAYSPEED MEDIUM SET !ERRORIGNORE YES SET !DATASOURCE C:\gruppy.txt SET !DATASOURCE_LINE {{!LOOP}} URL GOTO={{!COL1}} SET !DATASOURCE C:\tekst.csv SET !DATASOURCE_LINE {{!LOOP}} SET !EXTRACT {{!COL1}} WAIT SECONDS=2 TAG POS=1 TYPE=* ATTR=* CONTENT={{!EXTRACT}}
Истина в последней инстанции
Отсутствует
dmitriy8720
скрытый текстВыделить кодКод:
SET !LOOP 1 SET !REPLAYSPEED MEDIUM SET !ERRORIGNORE YES SET !DATASOURCE C:\gruppy.txt SET !DATASOURCE_LINE {{!LOOP}} URL GOTO={{!COL1}} SET !DATASOURCE C:\tekst.csv SET !DATASOURCE_LINE {{!LOOP}} SET !EXTRACT {{!COL1}} WAIT SECONDS=2 TAG POS=1 TYPE=* ATTR=* CONTENT={{!EXTRACT}}
Не помогло, все по прежнему, из файла текст не публикует.
Отсутствует
Работает только так, но публикует, только первую строку, а строк больше 30, в файле.
EVENTS TYPE=KEYPRESS SELECTOR="#post_textarea" CHARS="{{!COL1}}"
Отсутствует
Работает только так, но публикует, только первую строку, а строк больше 30, в файле.
EVENTS TYPE=KEYPRESS SELECTOR="#post_textarea" CHARS="{{!COL1}}"
SET !VAR6 EVAL("var randomName=Math.floor(Math.random()*2267 + 1); randomName;") SET !DATASOURCE baza-koment.txt SET !DATASOURCE_LINE {{!VAR6}} ADD !EXTRACT {{!COL1}} SET !VAR7 {{!EXTRACT}} SET !EXTRACT NULL TAG POS=1 TYPE=TEXTAREA FORM=ID:acform ATTR=ID:message CONTENT={{!VAR7}}
Текст в файле должен быть в “” и в тексте не должно быть “” и файл должен читаться построчно, к примеру, если в вашем файле 30 строк, то там, куда вы его положите он должен растянутся в одну строку и так считываться я использую Bred3 постинг идет, как надо за исключением, если сам ресурс ограничивает количество символов при комментировании.
Отсутствует
googlenoob]
Спасибо, все идеально работает, а как теперь удалить двойную кавычку, в начале первой строки и в конце 47 строки?
Отредактировано dmitriy8720 (23-10-2021 16:20:05)
Отсутствует
Спасибо, все идеально работает, а как теперь удаль двойную кавычку, в начале первой строки и в конце 47 строки?
Вы в своем тексте меняйте, на что то другое или просто заменяете кавычки, к примеру, на – здесь текст – или вроде можно заменить на одинарные в тексте ‘ здесь текст, что должен быть в кавычках ’ я у себя удалял строки, что выдавали ошибку то бишь не выводился текст полностью или менял текст на корректный.
Отсутствует
dmitriy8720 пишетСпасибо, все идеально работает, а как теперь удаль двойную кавычку, в начале первой строки и в конце 47 строки?Вы в своем тексте меняйте, на что то другое или просто заменяете кавычки, к примеру, на – здесь текст – или вроде можно заменить на одинарные в тексте ‘ здесь текст, что должен быть в кавычках ’ я у себя удалял строки, что выдавали ошибку то бишь не выводился текст полностью или менял текст на корректный.
Можно ли, как то ограничить, видимые строки при публикации? например, чтобы в первой строке была двойная кавычка и в последней, но чтобы публиковал со 2-46 строку.
Отсутствует
В одной соц.сети, этот код работает
А вот, этот код, везде работает
Отсутствует