Нажатие кнопок лайк, ретвит в Twitter

S.Bel

Client
Регистрация
27.11.2021
Сообщения
6
Благодарностей
0
Баллы
1
Здравствуйте!
Скажите, возможно ли оформить нажатие кнопок на сайте Twitter при помощи Zennoposter?
Из возможных вариантов увидел только поиск области на сайте по картинке и эмуляцию мыши. Есть ли другие варианты?
Заранее спасибо!
 

GREXA

Client
Регистрация
16.09.2017
Сообщения
276
Благодарностей
103
Баллы
43
Для лайка
HtmlElement Like = tab.FindElementByAttribute("path", "outerhtml", "<path d=\"M12 21.638h-.014C9.403 21.59 1.95 14.856 1.95 8.478c0-3.064 2.525-5.754 5.403-5.754 2.29 0 3.83 1.58 4.646 2.73.814-1.148 2.354-2.73 4.645-2.73 2.88 0 5.404 2.69 5.404 5.755 0 6.376-7.454 13.11-10.037 13.157H12zM7.354 4.225c-2.08 0-3.903 1.988-3.903 4.255 0 5.74 7.034 11.596 8.55 11.658 1.518-.062 8.55-5.917 8.55-11.658 0-2.267-1.823-4.255-3.903-4.255-2.528 0-3.94 2.936-3.952 2.965-.23.562-1.156.562-1.387 0-.014-.03-1.425-2.965-3.954-2.965z\"></path>", "text", 0);
Like.Click();

Для репосты
HtmlElement repost_1 = tab.FindElementByAttribute("svg", "innerhtml", "<g><path d=\"M23.77", "regexp", 0);
if (!repost_1.IsVoid)
{
instance.WaitFieldEmulationDelay();
repost_1.RiseEvent("click", instance.EmulationLevel);
System.Threading.Thread.Sleep(rnd.Next(2, 4) * 1000);
}

instance.ActiveTab.FullEmulationMouseWheel(0, 1200); //Прокрутка

HtmlElement repost_2 = tab.FindElementByAttribute("span", "innertext", "Retweet", "regexp", 0);
if (!repost_2.IsVoid)
instance.WaitFieldEmulationDelay();
instance.ActiveTab.Touch.Touch(repost_2);
repost_2.RiseEvent("click", instance.EmulationLevel);
System.Threading.Thread.Sleep(rnd.Next(2, 4) * 1000);

Выглядит может ужасно)
Но в моем проекте уже как 2 года работает. Код под себя подправите, тут самое главное пути.
 
  • Спасибо
Реакции: S.Bel

S.Bel

Client
Регистрация
27.11.2021
Сообщения
6
Благодарностей
0
Баллы
1
Для лайка
HtmlElement Like = tab.FindElementByAttribute("path", "outerhtml", "<path d=\"M12 21.638h-.014C9.403 21.59 1.95 14.856 1.95 8.478c0-3.064 2.525-5.754 5.403-5.754 2.29 0 3.83 1.58 4.646 2.73.814-1.148 2.354-2.73 4.645-2.73 2.88 0 5.404 2.69 5.404 5.755 0 6.376-7.454 13.11-10.037 13.157H12zM7.354 4.225c-2.08 0-3.903 1.988-3.903 4.255 0 5.74 7.034 11.596 8.55 11.658 1.518-.062 8.55-5.917 8.55-11.658 0-2.267-1.823-4.255-3.903-4.255-2.528 0-3.94 2.936-3.952 2.965-.23.562-1.156.562-1.387 0-.014-.03-1.425-2.965-3.954-2.965z\"></path>", "text", 0);
Like.Click();

Для репосты
HtmlElement repost_1 = tab.FindElementByAttribute("svg", "innerhtml", "<g><path d=\"M23.77", "regexp", 0);
if (!repost_1.IsVoid)
{
instance.WaitFieldEmulationDelay();
repost_1.RiseEvent("click", instance.EmulationLevel);
System.Threading.Thread.Sleep(rnd.Next(2, 4) * 1000);
}

instance.ActiveTab.FullEmulationMouseWheel(0, 1200); //Прокрутка

HtmlElement repost_2 = tab.FindElementByAttribute("span", "innertext", "Retweet", "regexp", 0);
if (!repost_2.IsVoid)
instance.WaitFieldEmulationDelay();
instance.ActiveTab.Touch.Touch(repost_2);
repost_2.RiseEvent("click", instance.EmulationLevel);
System.Threading.Thread.Sleep(rnd.Next(2, 4) * 1000);

Выглядит может ужасно)
Но в моем проекте уже как 2 года работает. Код под себя подправите, тут самое главное пути.
Спасибо большое!
Тут на форуме случаем репутации нет?:-)
 

GREXA

Client
Регистрация
16.09.2017
Сообщения
276
Благодарностей
103
Баллы
43

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18
Для лайка
HtmlElement Like = tab.FindElementByAttribute("path", "outerhtml", "<path d=\"M12 21.638h-.014C9.403 21.59 1.95 14.856 1.95 8.478c0-3.064 2.525-5.754 5.403-5.754 2.29 0 3.83 1.58 4.646 2.73.814-1.148 2.354-2.73 4.645-2.73 2.88 0 5.404 2.69 5.404 5.755 0 6.376-7.454 13.11-10.037 13.157H12zM7.354 4.225c-2.08 0-3.903 1.988-3.903 4.255 0 5.74 7.034 11.596 8.55 11.658 1.518-.062 8.55-5.917 8.55-11.658 0-2.267-1.823-4.255-3.903-4.255-2.528 0-3.94 2.936-3.952 2.965-.23.562-1.156.562-1.387 0-.014-.03-1.425-2.965-3.954-2.965z\"></path>", "text", 0);
Like.Click();

Для репосты
HtmlElement repost_1 = tab.FindElementByAttribute("svg", "innerhtml", "<g><path d=\"M23.77", "regexp", 0);
if (!repost_1.IsVoid)
{
instance.WaitFieldEmulationDelay();
repost_1.RiseEvent("click", instance.EmulationLevel);
System.Threading.Thread.Sleep(rnd.Next(2, 4) * 1000);
}

instance.ActiveTab.FullEmulationMouseWheel(0, 1200); //Прокрутка

HtmlElement repost_2 = tab.FindElementByAttribute("span", "innertext", "Retweet", "regexp", 0);
if (!repost_2.IsVoid)
instance.WaitFieldEmulationDelay();
instance.ActiveTab.Touch.Touch(repost_2);
repost_2.RiseEvent("click", instance.EmulationLevel);
System.Threading.Thread.Sleep(rnd.Next(2, 4) * 1000);

Выглядит может ужасно)
Но в моем проекте уже как 2 года работает. Код под себя подправите, тут самое главное пути.
выдает
Компиляция кода Ошибка в действии "CS0103" "The name 'tab' does not exist in the current context". [Строка: 1; Cтолбец: 20]
помогите плз
 

volody00

Client
Регистрация
06.09.2016
Сообщения
929
Благодарностей
1 020
Баллы
93
  • Спасибо
Реакции: aleksfid

aleksfid

Client
Регистрация
17.12.2015
Сообщения
448
Благодарностей
21
Баллы
18
вместо tab напиши instance.ActiveTab
M12 21.638h-.014C9.403 21.59 1.95 14.856 1.95 8.478c0-3.064 2.525-5.754 5.403-5.754 2.29 0 3.83 1.58 4.646 2.73.814-1.148 2.354-2.73 4.645-2.73 2.88 0 5.404 2.69 5.404 5.755 0 6.376-7.454 13.11-10.037 13.157H12zM7.354 4.225c-2.08 0-3.903 1.988-3.903 4.255 0 5.74 7.034 11.596 8.55 11.658 1.518-.062 8.55-5.917 8.55-11.658 0-2.267-1.823-4.255-3.903-4.255-2.528 0-3.94 2.936-3.952 2.965-.23.562-1.156.562-1.387 0-.014-.03-1.425-2.965-3.954-2.965z\ всегда разное, как вместо него переменную поставить
 

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