Sasha
Но там оплата за трафик
ПОДДЕРЖКА [19:00 - 20:00]
Я передаю авторизованные куки, но у меня при входе просит пароль. Но сессия в браузере сохраняется и каждый раз пароль не просит. Бывает такое, что сессия хранится не в куках, а где то в другом месте?
Andrey
В Storage может
ПОДДЕРЖКА [19:00 - 20:00]
Andrey
:)
Sasha
Локал сторадж
ПОДДЕРЖКА [19:00 - 20:00]
Кто поможет мне авторизоваться на сайте через cookies?
artem
Кто поможет мне авторизоваться на сайте через cookies?
а ты со мной поделишься своей базой почт
artem
подскажите как можно увеличить время ожидания пупетиром селектора
artem
он же по умолчанию 30000
artem
и могу ли я это сделать только в одном блоке
artem
из за того что пупетир не успевает дождаться селектора происходят такие обидные ситуации
artem
видео вроде успело загрузиться но пупетир не нажал сейв
artem
а завершил работу с ошибкой
artem
я хочу увеличить время ожидания только в этом блоке, если такое возможно подскажите как
Andrey
https://pptr.dev/#?product=Puppeteer&version=v10.4.0&show=api-pagewaitforxpathxpath-options
ПОДДЕРЖКА [19:00 - 20:00]
+- так. как точно я не помню
ПОДДЕРЖКА [19:00 - 20:00]
Error: Evaluation failed: ReferenceError: my_storage is not defined В чем проблема? Никак понять не могу
Andrey
page.evaluate сериализует и отправляет функцию через DevTools Protocol в браузер, а там о my_storage никто не знает
Andrey
смотри пример как передавать аргументы https://pptr.dev/#?product=Puppeteer&version=v10.4.0&show=api-pageevaluatepagefunction-args
Andrey
вообще сперва в справку мне кажется лучше смотреть😉
ПОДДЕРЖКА [19:00 - 20:00]
вообще сперва в справку мне кажется лучше смотреть😉
Error: Evaluation failed: TypeError: Cannot read properties of undefined (reading '0')
ПОДДЕРЖКА [19:00 - 20:00]
Ты думаешь что ли что я так не пробовал?
Andrey
ну неправильно же написано
Andrey
аргумент то передай
ПОДДЕРЖКА [19:00 - 20:00]
ну неправильно же написано
Написано что он не может прочитать параметры т.к они undefined, значит параметр не передался
ПОДДЕРЖКА [19:00 - 20:00]
Передавал так как указано в доке
ПОДДЕРЖКА [19:00 - 20:00]
Andrey
нету там аргумента,
ПОДДЕРЖКА [19:00 - 20:00]
Sasha
видео вроде успело загрузиться но пупетир не нажал сейв
Лучше не селектор а события посмотри в консоли может там есть типо completed
ПОДДЕРЖКА [19:00 - 20:00]
@andreylukutkin
Andrey
Andrey
7 - это аргумент
ПОДДЕРЖКА [19:00 - 20:00]
А тогда зачем тут x ?
Andrey
параметр функции
ПОДДЕРЖКА [19:00 - 20:00]
параметр функции
Так там умножение идет на этот параметр, а не на 7
Andrey
сделай как написано
ПОДДЕРЖКА [19:00 - 20:00]
ПОДДЕРЖКА [19:00 - 20:00]
Функция evalute не выполнилась
Andrey
выполнилась
ПОДДЕРЖКА [19:00 - 20:00]
Andrey
console.log тоже в браузере выполнился
Andrey
че ты за Фома такой))))
ПОДДЕРЖКА [19:00 - 20:00]
Andrey
👌
ПОДДЕРЖКА [19:00 - 20:00]
ПОДДЕРЖКА [19:00 - 20:00]
Почему не работает установка localStorage. Если сделать вручную в консоли, открытом браузере через puppeteer — все нормально. Конкретно сам puppeteer устанавливает неверное значение/не устанавливает его
Andrey
че это код вообще делает
Andrey
https://stackoverflow.com/a/56141229 - тут посмотри, хороший пример и обьяснение
Alhimik
из за того что пупетир не успевает дождаться селектора происходят такие обидные ситуации
> не успевает дождаться селектора Это очень ненадёжно ждать по времени. Нужно находить более надёжные привязки, например перехватывать запросы/ответы. Или использовать MutationObserver, и ждать когда появится нужная кнопка/ссылка. Ну если ты уверен что элемент точно появится то вообще убери таймер, передав значение 0.
ПОДДЕРЖКА [19:00 - 20:00]
https://stackoverflow.com/a/56141229 - тут посмотри, хороший пример и обьяснение
Я по этому примеру и делал. Он у меня даже не заработал. Я так и не понял как его использовать
Alhimik
Мне нужно мое значение сохранить в localStorage
await page.evaluate((key, value) => { localStorage.setItem(key, value); }, "test", 123);
ПОДДЕРЖКА [19:00 - 20:00]
Alhimik
Не устанавливает значение
Должно устанавливать. Только что проверил.
artem
хочу при переходе на страницу сразу проверять ее на наличие определенных селекторов если они есть то закрывать вкладку и идти дальше если их нет то выполнять логику
artem
подскажите как можно это сделать?
artem
waitForNavigation и waitForSelector
artem
с маленькой задержкой на waitForSelector ?
artem
например 1с
Andrey
может проще waitForNavigation, а потом просто page.$ с проверкой результата, зачем таймауты
artem
спасибо, понял!
artem
народ смотрите я проверяю сессиии на валидность и по мере их чтения запускаю пупетир для того чтобы собственно проверить валидна сессия или нет можно как-то сделать чтоб новый браузер открывался только после того как закроется старый?
artem
пока сессий мало это конечно прекрасное многопоточное решение
artem
но боюсь если я положу туда сотню
artem
то машина не выдержит
artem
асинхронность, либо обещание используй
как это реализовать в моем примере?
artem
await перед isValid,
artem
?
Anonymous
запикай эту все в асинк. функцию
Anonymous
это *
Anonymous
через пропсы, аргументы передай туда данные
Anonymous
и await на каждой строке( ну либо же подумай, откуда могут долго идти данные)
Anonymous
либо же, что выполняется не на уровне языка, точнее присваивание