Не могу поставить реакцию в ФБ

razrabot4ik

Новичок
Регистрация
29.04.2020
Сообщения
15
Благодарностей
0
Баллы
1
Всем привет. Столкнулся с проблемой в фб, для кого-то скорее всего не проблема. Для меня оказалось непосильно. Пытаюсь поставить реакции https://prnt.sc/w98764 вот эти. Они появляются когда наводишь на кнопку мышь. Навожу с помощью парсинга координатов и С# эмуляцией. По другому не решил вопрос. Но не могу найти как поставить эти реакции. В коде не могу их отследить от слова вовсе. Там Canva. По форуму не нашел ничего, или плохо искал. Ткните плиз в какую сторону смотреть, где эти элементы найти
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 683
Баллы
113
даже посмотреть не могу. фб забанил мой аккаунт. мой единственный аккаунт. я даже не успел попользоваться им.
говорят фб только ботов банит, а вот и нифига, банит реальный аккаунт даже ни разу не засвеченный в зенке. совсем они там уже шизанулись, не могут отличить человека от бота что ли ? :-)
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Возможно, что эти элементы при наведении мыши с помощью JavaScript встраиваются на страницу, а когда Вы мышь убираете, то они пропадают. Попробуйте воспользоваться методом из этого сообщения для того, чтобы поймать элементы.
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 941
Благодарностей
4 331
Баллы
113
При чём здесь Canva?
А понял, канвас наверное.
Можете в обычном Хроме навести курсор на Нравится и затем, когда появятся реакции, нажать ПКМ и там выбрать "Показать код страницы". Затем искать блок этих реакций, устанавливать уникальный идентификатор и эмуляцией мыши наводить и кликать. Например div с innerhtml включающий строку ">Супер!<", если у вас RU интерфейс.
Update. Да, не работает. Будет время придется покопаться.
 
Последнее редактирование:

razrabot4ik

Новичок
Регистрация
29.04.2020
Сообщения
15
Благодарностей
0
Баллы
1
Возможно, что эти элементы при наведении мыши с помощью JavaScript встраиваются на страницу, а когда Вы мышь убираете, то они пропадают. Попробуйте воспользоваться методом из этого сообщения для того, чтобы поймать элементы.
Не разобрался. Тёмный лес
 

razrabot4ik

Новичок
Регистрация
29.04.2020
Сообщения
15
Благодарностей
0
Баллы
1
При чём здесь Canva?
А понял, канвас наверное.
Можете в обычном Хроме навести курсор на Нравится и затем, когда появятся реакции, нажать ПКМ и там выбрать "Показать код страницы". Затем искать блок этих реакций, устанавливать уникальный идентификатор и эмуляцией мыши наводить и кликать. Например div с innerhtml включающий строку ">Супер!<", если у вас RU интерфейс.
Update. Да, не работает. Будет время придется покопаться.
Пробовал уже. Бесполезно
 

razrabot4ik

Новичок
Регистрация
29.04.2020
Сообщения
15
Благодарностей
0
Баллы
1
даже посмотреть не могу. фб забанил мой аккаунт. мой единственный аккаунт. я даже не успел попользоваться им.
говорят фб только ботов банит, а вот и нифига, банит реальный аккаунт даже ни разу не засвеченный в зенке. совсем они там уже шизанулись, не могут отличить человека от бота что ли ? :-)
Это фб. Непредсказуемый
 

ruthless

Client
Регистрация
13.02.2017
Сообщения
215
Благодарностей
62
Баллы
28
Аналогичная проблема. Прежде чем открыть список возможных реакций, нужно навестись на "ближайший" элемент, так как кнопок "Нравится" далеко не одна. Перепробовал возможные варианты, пока не смог решить.
 

Вложения

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113

ruthless

Client
Регистрация
13.02.2017
Сообщения
215
Благодарностей
62
Баллы
28
Вы имеете ввиду это? Если да, то еще не пробовал, на днях тестану - напишу о результатах здесь

тоже мучался иногда с такими элементами, ваш вопрос подоткнул нагуглить решение

Вводим в консоль
setTimeout(function(){debugger;}, 5000)
тыкаем куда нужно чтобы вызвать исчезающий элемент
через пять секунд страница встанет на паузу, и ничего уже никуда не исчезнет
 
  • Спасибо
Реакции: nicanil

ruthless

Client
Регистрация
13.02.2017
Сообщения
215
Благодарностей
62
Баллы
28
Думал что всё гуд, но не тут-то было.
Попытка кликнуть/тапнуть по например реакции сердца не удается. Попытка нажатия происходит, но безрезультатно.
Наводимся на элемент:
HtmlElement he = instance.ActiveTab.FindElementByXPath("//span[text()='Нравится']", 0);
if (he.IsVoid) return -1;
instance.ActiveTab.FullEmulationMouseMoveAboveHtmlElement(he, 10);
Фризим страницу:
setTimeout(function(){debugger;}, 500)
82996
 
Последнее редактирование:

ruthless

Client
Регистрация
13.02.2017
Сообщения
215
Благодарностей
62
Баллы
28
С фризом
82999
 

ruthless

Client
Регистрация
13.02.2017
Сообщения
215
Благодарностей
62
Баллы
28
Без фриза
83001
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Думал что всё гуд, но не тут-то было.
Попытка кликнуть/тапнуть по например реакции сердца не удается. Попытка нажатия происходит, но безрезультатно.
Это для отладки. В данном случае для составления XPath путей у элементов, которые появляются только при наведении мыши.
Курсор Вы наводите, судя по всему, через FullEmulationMouse, попробуйте и клик так же делать (только без фриза). Или включить настройку "Максимальная эмуляция" в настройках проекта.
 

ruthless

Client
Регистрация
13.02.2017
Сообщения
215
Благодарностей
62
Баллы
28
1:
HtmlElement he = instance.ActiveTab.FindElementByXPath("//span[text()='Нравится']", 0);
if (he.IsVoid) return -1;
instance.ActiveTab.FullEmulationMouseMoveAboveHtmlElement(he, 15);
Thread.Sleep(1000);
2:
HtmlElement he = instance.ActiveTab.FindElementByXPath("//div[@aria-label='Супер']", 0);
if (he.IsVoid) return -1;
instance.ActiveTab.FullEmulationMouseMoveAboveHtmlElement(he, 15);
Thread.Sleep(1000);
3:
instance.ActiveTab.FullEmulationMouseClick("left", "click");
Это для отладки. В данном случае для составления XPath путей у элементов, которые появляются только при наведении мыши.
Курсор Вы наводите, судя по всему, через FullEmulationMouse, попробуйте и клик так же делать (только без фриза). Или включить настройку "Максимальная эмуляция" в настройках проекта.
Получилось, использовал 3 кубика C#, но я хз как их объеденить в один. Так будет приятнее.

Хотя с другой стороны, и так сойдет.
83002
 
Последнее редактирование:

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113
Вот так должно работать (в одном кубике):
C#:
HtmlElement hover_he = instance.ActiveTab.FindElementByXPath("//span[text()='Нравится']", 0);
if (hover_he.IsVoid) return -1;
instance.ActiveTab.FullEmulationMouseMoveAboveHtmlElement(hover_he, 15);
Thread.Sleep(1000);

HtmlElement click_he = instance.ActiveTab.FindElementByXPath("//div[@aria-label='Супер']", 0);
if (click_he.IsVoid) return -1;
instance.ActiveTab.FullEmulationMouseMoveAboveHtmlElement(click_he, 15);
Thread.Sleep(1000);

instance.ActiveTab.FullEmulationMouseClick("left", "click");
 
  • Спасибо
Реакции: ruthless

ruthless

Client
Регистрация
13.02.2017
Сообщения
215
Благодарностей
62
Баллы
28
Вот так должно работать (в одном кубике):
C#:
HtmlElement hover_he = instance.ActiveTab.FindElementByXPath("//span[text()='Нравится']", 0);
if (hover_he.IsVoid) return -1;
instance.ActiveTab.FullEmulationMouseMoveAboveHtmlElement(hover_he, 15);
Thread.Sleep(1000);

HtmlElement click_he = instance.ActiveTab.FindElementByXPath("//div[@aria-label='Супер']", 0);
if (click_he.IsVoid) return -1;
instance.ActiveTab.FullEmulationMouseMoveAboveHtmlElement(click_he, 15);
Thread.Sleep(1000);

instance.ActiveTab.FullEmulationMouseClick("left", "click");
Спасибо
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)