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

razrabot4ik

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

Phoenix78

Client
Read only
Joined
Nov 6, 2018
Messages
11,789
Reaction score
5,729
Points
113
даже посмотреть не могу. фб забанил мой аккаунт. мой единственный аккаунт. я даже не успел попользоваться им.
говорят фб только ботов банит, а вот и нифига, банит реальный аккаунт даже ни разу не засвеченный в зенке. совсем они там уже шизанулись, не могут отличить человека от бота что ли ? :-)
 

nicanil

Client
Joined
Mar 6, 2016
Messages
2,247
Reaction score
1,832
Points
113
Возможно, что эти элементы при наведении мыши с помощью JavaScript встраиваются на страницу, а когда Вы мышь убираете, то они пропадают. Попробуйте воспользоваться методом из этого сообщения для того, чтобы поймать элементы.
 

Astraport

Client
Joined
May 1, 2015
Messages
5,011
Reaction score
4,486
Points
113
Там Canva.
При чём здесь Canva?
А понял, канвас наверное.
Можете в обычном Хроме навести курсор на Нравится и затем, когда появятся реакции, нажать ПКМ и там выбрать "Показать код страницы". Затем искать блок этих реакций, устанавливать уникальный идентификатор и эмуляцией мыши наводить и кликать. Например div с innerhtml включающий строку ">Супер!<", если у вас RU интерфейс.
Update. Да, не работает. Будет время придется покопаться.
 
Last edited:

razrabot4ik

Новичок
Joined
Apr 29, 2020
Messages
15
Reaction score
0
Points
1
Возможно, что эти элементы при наведении мыши с помощью JavaScript встраиваются на страницу, а когда Вы мышь убираете, то они пропадают. Попробуйте воспользоваться методом из этого сообщения для того, чтобы поймать элементы.
Не разобрался. Тёмный лес
 

razrabot4ik

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

razrabot4ik

Новичок
Joined
Apr 29, 2020
Messages
15
Reaction score
0
Points
1
даже посмотреть не могу. фб забанил мой аккаунт. мой единственный аккаунт. я даже не успел попользоваться им.
говорят фб только ботов банит, а вот и нифига, банит реальный аккаунт даже ни разу не засвеченный в зенке. совсем они там уже шизанулись, не могут отличить человека от бота что ли ? :-)
Это фб. Непредсказуемый
 

ruthless

Client
Joined
Feb 13, 2017
Messages
226
Reaction score
69
Points
28
Аналогичная проблема. Прежде чем открыть список возможных реакций, нужно навестись на "ближайший" элемент, так как кнопок "Нравится" далеко не одна. Перепробовал возможные варианты, пока не смог решить.
 

Attachments

nicanil

Client
Joined
Mar 6, 2016
Messages
2,247
Reaction score
1,832
Points
113

ruthless

Client
Joined
Feb 13, 2017
Messages
226
Reaction score
69
Points
28
А приём из этого сообщения пробовали?
Вы имеете ввиду это? Если да, то еще не пробовал, на днях тестану - напишу о результатах здесь

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

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

ruthless

Client
Joined
Feb 13, 2017
Messages
226
Reaction score
69
Points
28
Думал что всё гуд, но не тут-то было.
Попытка кликнуть/тапнуть по например реакции сердца не удается. Попытка нажатия происходит, но безрезультатно.
Наводимся на элемент:
HtmlElement he = instance.ActiveTab.FindElementByXPath("//span[text()='Нравится']", 0);
if (he.IsVoid) return -1;
instance.ActiveTab.FullEmulationMouseMoveAboveHtmlElement(he, 10);
Фризим страницу:
setTimeout(function(){debugger;}, 500)
82996
 
Last edited:

ruthless

Client
Joined
Feb 13, 2017
Messages
226
Reaction score
69
Points
28
С фризом
82999
 

ruthless

Client
Joined
Feb 13, 2017
Messages
226
Reaction score
69
Points
28
Без фриза
83001
 

nicanil

Client
Joined
Mar 6, 2016
Messages
2,247
Reaction score
1,832
Points
113
Думал что всё гуд, но не тут-то было.
Попытка кликнуть/тапнуть по например реакции сердца не удается. Попытка нажатия происходит, но безрезультатно.
Это для отладки. В данном случае для составления XPath путей у элементов, которые появляются только при наведении мыши.
Курсор Вы наводите, судя по всему, через FullEmulationMouse, попробуйте и клик так же делать (только без фриза). Или включить настройку "Максимальная эмуляция" в настройках проекта.
 

ruthless

Client
Joined
Feb 13, 2017
Messages
226
Reaction score
69
Points
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
 
Last edited:

nicanil

Client
Joined
Mar 6, 2016
Messages
2,247
Reaction score
1,832
Points
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");
 
  • Thank you
Reactions: ruthless

ruthless

Client
Joined
Feb 13, 2017
Messages
226
Reaction score
69
Points
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");
Спасибо
 

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)