🦋noteee
page.on("request", (context) => {}) — ловит запрос. По итогу на странице появляется JSON ответ. Я же могу его как то получить?, что то типо context.response() или нету такого?
Andrey
почему там context
Andrey
Ну и в HTTPRequest всё уже есть
🦋noteee
Ну и в HTTPRequest всё уже есть
Так а где тут response посмотреть?
Andrey
У HTTPRequest есть метод response()
🦋noteee
У HTTPRequest есть метод response()
Так я же обработчик добавил, page.on там нету такого
🦋noteee
мне это внутри обработчика нужно
🦋noteee
@andreylukutkin если ты про это, то в ответе идет null page.on("request", async (req) => { resolve(req.response()) });
🦋noteee
@andreylukutkin
Alhimik
@andreylukutkin если ты про это, то в ответе идет null page.on("request", async (req) => { resolve(req.response()) });
Если там null, значит ответ ещё не получен. Используй page.on("response").
🦋noteee
Бывает, когда я перезапускаю скрипт несколько раз, то у меня вылетает сессия (Хранится она в userData), я может как то неправильно закрываю скрипт или как сделать, что бы сессия не пропадала?
Alhimik
Бывает, когда я перезапускаю скрипт несколько раз, то у меня вылетает сессия (Хранится она в userData), я может как то неправильно закрываю скрипт или как сделать, что бы сессия не пропадала?
Не должно ничего пропадать, даже если некорректно завершается скрипт. По крайней мере я не сталкивался с таким. Но конечно лучше сначала закрывать все страницы, а потом и браузер.
artem
ребята а можно в пупетире как-то прямо имитировать движение мыши?
🦋noteee
mouse.move мб что то такое. Посмотри документацию
WEB
как заставить куколовода нажать на див, почему evaluate. click не помогает
Alhimik
Да, нужно смотреть на что весит листенер, там может быть какая-то валидация, допустим. И нужно фокус сделать или ещё что-нибудь.
WEB
тип ни клик, ни evaluate не срабатывает
WEB
фокус тоже не делается
🦋noteee
фокус тоже не делается
Делай фокус на какой то элемент рядом и кликай туда, что бы крик попадал куда тебе нужно
WEB
Я крч ентер просто прописал
WEB
нажатие
WEB
помогите, у меня след. задача : у меня есть на сайте контейнер, который содержит 10 ссылочных элементов(тэг <a>), в которых рандомно записывается число от 1 до 100, каждые 10-35секунд, появляется новый ссылочных элемент, который пушится как первый, последний же элемент удаляется, и тем самым остается 10 ссылочных элементов. Как в данном случае отслеживать каждое новое появление?
Andrey
в сторону MutationObserver я бы смотрел
WEB
Как мне сделать клик по 1 из 4-элементов, сравнивая по внутреннему контенту, например, у меня есть 4 элемента, 1 эл. внутренний контент = 1, 2 эл. = 2 и т.п. Как мне сделать клик, например по элементу, в котором содержится внутренний контент = 3
WEB
Мне надо перебрать, а дальше через селектор.текстКонтент == 3 добавлять ивент клик ?
WEB
Или как ?
Alhimik
Можно так, но лучше ещё что-то добавить, класс, или айди, что там у тебя.
WEB
понял, буду тестить
WEB
спасибо большое
Tofa
Здравствуйте, как в инпут вставить текст?
Alhimik
Здравствуйте, как в инпут вставить текст?
Можно сделать фокус на поле и type(), а можно через el.value.
Tofa
а если сделаю так, хуже не будет?
Alhimik
а если сделаю так, хуже не будет?
Лучше всё же делать type(), зачастую на события ввода реагируют валидаторы какие-нибудь или запускается что-нибудь.
Alhimik
Но если и так работает, то не важно.
WEB
const el = await page.waitForXPath("//div[contains(., '1')]"); await el.click();
не работает почему-то. let dollar = await page3.$$eval('.text__wrapper', (e) => { let cont = e.filter(t => t.querySelector('.number').textContent == '3'); return cont }) page.click(dollar.cont) должно сработать ?
Tofa
осталось понять как button нажать
WEB
осталось понять как button нажать
page.click('класс кнопки, либо чайл-нода, либо же цепочка селекторов')
Tofa
Вот такая кнопочка, но чёто не работает когда в page.click вношу класс
Tofa
WEB
тогда попробуй button[type='submit']
Tofa
Не выходит :(
Tofa
Может мне как то по руту перейти нужно?
Alhimik
Может мне как то по руту перейти нужно?
У кнопки же ID есть. По нему и бери элемент.
Alhimik
await page.click('[id="login_button"]')
Кнопка не в iframe?
Tofa
А, я в evaulate пытался на кнопку жать, в этом была проблема
Tofa
нужно понять что авторизация прошла успешно, но как?
WEB
нужно понять что авторизация прошла успешно, но как?
а сайт сам оповещает о том, что выполнен вход?
Tofa
нет, просто перекидывает на профиль
WEB
Тогда сделай проверку на появление нового окна, селектора
WEB
тип, тебя же когда в профиль кидает, появляются новыее блоки, либо же вообще боди меняется
WEB
Сделай проверку на ожидание селектора
WEB
и обрабатывай
WEB
.then/.catch/.finally
WEB
этоа самый легкий способ, как по мнне
WEB
Хотя, я в кукловоде максимум неск дней, и в рот его ебал
WEB
но мне кажется это самое рациональное
WEB
для новичка
WEB
проверка на селектор
Tofa
а если проверить на ссылку? она же меняется при успешной авторизации
WEB
Я рассказываю так, как я делал
WEB
у меня уже бомбит с этого кукловода, трачу по 10-15 часов в день, уже все мозги себе выеб
Tofa
Штука не из легких, но результат приятный)
WEB
Штука не из легких, но результат приятный)
тУт сложность в том, что когда читаешь доку, примеры, они мало того, в 95% на англ.языке, что делает препятствие, так в доке еще написано так, что иногда ахуеть можно, мб просто у меня фронт головного мозга, и я до этого с нодой не сталкивался, ток щас начал учить
Tofa
а по другой ссылке перейти? page.goto не работает, странно
Tofa
дело в том что коллбекс с goto promo не прилетает, консоль лог не срабатывает