Anonymous
4
WEB
не сработало
WEB
(
WEB
Все таки чекает
WEB
инд. аккаунта
Tofa
Каво
Tofa
Побольше бы людей сюда, у кукловода комьюнити точно не маленькое
Tofa
Вот например у меня гениальный вопрос, мне нужно циклом создать 10 браузеров, но как к ним потом обращаться?
Tofa
обращаться к конкретному созданному
Vlad Vaviloff
Tofa
Tofa
Я только сейчас понял, а как это правильно сделать?
Tofa
У меня вот такая функция есть, получается её результат пушить в массив?
Vlad Vaviloff
У меня вот такая функция есть, получается её результат пушить в массив?
Эта функция создаёт браузер, открывает одну вкладку и отдаёт ее. Браузер потом так и будет висеть, даже после закрытия страницы, неаккуратно выходит. Я бы пушил браузеры, потом, доставая их, создавал новую вкладку, потом закрывал ее. В конце можно пройти по циклу и закрыть браузеры.
Gerrra
Вем привет!
Есть код:
const butts = Array.prototype.filter.call(
document.querySelectorAll('div[id^="start-ads-"] + div[id^="ads_id_"]'),
div => /Таймер:\s*10\s*секунд\s*$/.test(div.textContent)
).map(e => e.previousElementSibling.querySelector('span[onclick]'));
Как нажать на butt[0]? Есть await page[r].click(butts[0]); но оно не работает, потому что я не очень понимаю какой тип будет на выходе и как на него нажать.
Vlad Vaviloff
Gerrra
Vlad Vaviloff
Это как так?
При условии, что в butts собираются кликабельные кнопки, можно попробовать сразу нажать первую: butts[0].click()
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click
Gerrra
Vlad Vaviloff
Gerrra
Должны быть обязательно
Gerrra
Там кнопок с нужным текстом - хватает
Gerrra
Продебажил. Таких кнопок много, но почему му то в массиве их нету, пишет undefined
Tofa
Gerrra
Кто шарит за puppeteer ответьте пожалуйста.
artem
ребята подскажите пожалуйста как можно получить ссылку
artem
текущую
artem
чтобы достать из нее параметры
Andrey
В голове только ставить setRequestInterception и самому отправлять запросы, при получении ответа - сохранять куки для данной страницы, убирать их и возвращать response браузеру.
WEB
как мне
WEB
в $$eval
WEB
взять только 10 контейнеров
WEB
вродителе
WEB
?
WEB
ограничить
Alhimik
Alhimik
Alhimik
Кто шарит за puppeteer ответьте пожалуйста.
const links = await page.evaluate(() => {
const links = [];
for (const div of document.querySelectorAll("div.task-performer")) {
for (const span of div.querySelectorAll("span")) {
if (span.textContent.match(/35\sсек./)) {
const a = div.querySelector("a");
if (a) {
links.push(a.href);
}
}
}
}
return links;
});
Alhimik
Как написали выше или самому перехватывать запросы и подменять куки. Но это будет скорей всего более сложно и в реализации и по ресурсам, так что врядли что-то лучшее найдётся чем использовать разные инстансы.
Alhimik
P.S. @kek_mek_kek, в следующий раз буду вынужден забанить тебя, если снова будешь писать что-то подобное.
Alhimik
Это чат по puppeteer, для выражения своих сексуальных желаний лучше найти другой чат. 🤷🏻♂️
Alhimik
тИП item.slice(начальное, конечное)?
Сначала нужно будет коллекцию к массиву привести и потом слайс сделать. Например так:
[...document.querySelectorAll("a")].slice(0, 10);
WEB
ааа
WEB
понял
WEB
спасибо
Gerrra
Gerrra
Переходит кстати на пустую страницу
Gerrra
<div>
<table id="ads-link-200982" class="work-serf">
<tbody>
<tr class="ads_200982">
<td width="18">
<div class="ybprosm" title="Просмотр видео"></div>
</td>
<td>
<div id="start-ads-200982">
<span onclick="funcjs['start_youtube'](200982, '289b14ffa65daaee8b0af37d215bbe4c', 'ads-start', 'ads');" title="https://www.youtube.com/watch?v=Tp-4bZdilLA" style="cursor:pointer;color:#006699;">стрим</span><br>
<span class="serf-text">Просмотр видеоролика</span>
</div>
<div id="ads_id_200982" style="border-left:1px solid #608ab9; margin-left:0px; padding-left:5px; border-top:1px solid #608ab9; margin-top:5px; padding-top:5px; display: none;">
<span>
№ площадки: 200982<br>
Дата размещения: <b>11.11.2021 в 23:04</b><br>
Заказ до: 18.11.2021г. 23:05
Выполнено пользователями: 5943
Таймер: <b>15</b> секунд<br>
</span>
</div>
</td>
<td align="right" width="138" nowrap="nowrap" style="text-align:right;">
<span title="Заказ до 18.11.2021г. 23:05" style="cursor: help;color:#ABB5B1;">(18.11.2021)</span>
<span title="Стоимость просмотра" style="cursor:help;color:#9d0000;">0.021<span class="ruble-symbol">o</span></span>
<div style="margin-top:5px;">
<span class="serf-text" style="font-size: 12px;vertical-align: middle;display: inline-block;">15 сек </span>
<span class="vip" style="vertical-align: middle;width: 18px;display: inline-block; font-size: 14px;"><b>vip</b></span>
<span class="ico ico-down" onclick="show_window('#ads_id_200982');return false;" title="Подробная информация"></span>
<span class="ico ico-report" onclick="popup_w('Жалоба на Youtube, видео №200982', false, 550, 'func=youtube&dop_func=ads&id=200982', 'ajax/users/abuse/pop-up-abuse.php');return false;" title="Пожаловаться на площадку"></span>
<a class="ico ico-remove" style="cursor: pointer;" title="Скрыть площадку" onclick="js_post(this, 'ajax/earnings/ajax-youtube.php', 'func=del-area&id=200982&type=ads&hash=289b14ffa65daaee8b0af37d215bbe4c');return false;"></a>
</div>
</td>
</tr>
</tbody>
</table>
</div>
Gerrra
Я походу код элемента спутал 🙈🙈🙈🙈
Gerrra
А нет
Gerrra
Мне кажется for (const div of document.querySelectorAll("div.task-performer_time")) {, нет?
Alhimik
<div>
<table id="ads-link-200982" class="work-serf">
<tbody>
<tr class="ads_200982">
<td width="18">
<div class="ybprosm" title="Просмотр видео"></div>
</td>
<td>
<div id="start-ads-200982">
<span onclick="funcjs['start_youtube'](200982, '289b14ffa65daaee8b0af37d215bbe4c', 'ads-start', 'ads');" title="https://www.youtube.com/watch?v=Tp-4bZdilLA" style="cursor:pointer;color:#006699;">стрим</span><br>
<span class="serf-text">Просмотр видеоролика</span>
</div>
<div id="ads_id_200982" style="border-left:1px solid #608ab9; margin-left:0px; padding-left:5px; border-top:1px solid #608ab9; margin-top:5px; padding-top:5px; display: none;">
<span>
№ площадки: 200982<br>
Дата размещения: <b>11.11.2021 в 23:04</b><br>
Заказ до: 18.11.2021г. 23:05
Выполнено пользователями: 5943
Таймер: <b>15</b> секунд<br>
</span>
</div>
</td>
<td align="right" width="138" nowrap="nowrap" style="text-align:right;">
<span title="Заказ до 18.11.2021г. 23:05" style="cursor: help;color:#ABB5B1;">(18.11.2021)</span>
<span title="Стоимость просмотра" style="cursor:help;color:#9d0000;">0.021<span class="ruble-symbol">o</span></span>
<div style="margin-top:5px;">
<span class="serf-text" style="font-size: 12px;vertical-align: middle;display: inline-block;">15 сек </span>
<span class="vip" style="vertical-align: middle;width: 18px;display: inline-block; font-size: 14px;"><b>vip</b></span>
<span class="ico ico-down" onclick="show_window('#ads_id_200982');return false;" title="Подробная информация"></span>
<span class="ico ico-report" onclick="popup_w('Жалоба на Youtube, видео №200982', false, 550, 'func=youtube&dop_func=ads&id=200982', 'ajax/users/abuse/pop-up-abuse.php');return false;" title="Пожаловаться на площадку"></span>
<a class="ico ico-remove" style="cursor: pointer;" title="Скрыть площадку" onclick="js_post(this, 'ajax/earnings/ajax-youtube.php', 'func=del-area&id=200982&type=ads&hash=289b14ffa65daaee8b0af37d215bbe4c');return false;"></a>
</div>
</td>
</tr>
</tbody>
</table>
</div>
И где тут хоть одно слово performer? )
Alhimik
И зачем тебе вообще извлекать ссылку и переходить по ней на новой вкладке? Судя по верхнему спану, при клике выполняется внутренняя функция funcjs['start_youtube'](200982, '289b14ffa65daaee8b0af37d215bbe4c', 'ads-start', 'ads') которая инициализирует задание. А если ты сам переходить будешь то этого не произойдёт. Т.е. тебе нужно делать клик по этому элементу. И потом уже обращаться к открытой странице.
Gerrra
Gerrra
Но впринципе в идеале конечно кликать по каждой из этих штук
Gerrra
Но для этого все равно надо найти все эти кнопки
Gerrra
Gerrra
Gerrra
Так что это трудно, я даже не секу как это можно сделать
Alhimik
Alhimik
У функции click() есть опции, туда можешь передать clickCount: 2, к примеру.
Gerrra
Gerrra
Но тут проблем туча...
1. найти все такие элементы с 10 сек таймером
Gerrra
2. включить сам ролик
Gerrra
Потому что это не решается click)
Gerrra
Была идея чтобы питон скрипт кликал, но это уже слишком)
Alhimik
Изначально подумал что ты говоришь про событие даблклика. Ну тогда будет немного посложнее.
Alhimik