Проблема с кликом мыши

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 363
Благодарностей
920
Баллы
113
На одном сайте реализован клик мышью по элементу кнопки вот в таком виде:

C#:
HtmlElement he = tab.FindElementByXPath("//xPath", 0);
tab.FullEmulationMouseMoveToHtmlElement(he);
tab.FullEmulationMouseClick("left", "click");
Проблема в том, что очень часто такой клик не срабатывает, если самому нажать на открытом инстансе после этого, то всё срабатывает нормально. Были ли у кого-то ещё такие проблемы или это проблема отдельно взятого сайта?
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 741
Благодарностей
1 133
Баллы
113
Работает всегда
C#:
instance.ActiveTab.FindElementByXPath("//xPath",0).Click();
 
  • Спасибо
Реакции: Zedx

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113
На одном сайте реализован клик мышью по элементу кнопки вот в таком виде:

C#:
HtmlElement he = tab.FindElementByXPath("//xPath", 0);
tab.FullEmulationMouseMoveToHtmlElement(he);
tab.FullEmulationMouseClick("left", "click");
Проблема в том, что очень часто такой клик не срабатывает, если самому нажать на открытом инстансе после этого, то всё срабатывает нормально. Были ли у кого-то ещё такие проблемы или это проблема отдельно взятого сайта?
Очень хорошая тема https://zennolab.com/discussion/threads/obzor-zennoposter-xpath-na-primere-jandeks-marketa.37497/
 
  • Спасибо
Реакции: Zedx

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113
instance.ActiveTab.FindElementByXPath("//xPath",0).Click();
Но правила суда надо прописывать? //xPath или прям так кликает куда хочешь.
А у меня так кликает
C#:
var tab = instance.ActiveTab;
var linkElement = tab.GetElementByXpath(project.Variables["Yandex_Serp"].Value).ClickOn();
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 363
Благодарностей
920
Баллы
113

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113
Да, так работает намного стабильнее.


GetElementByXpath - такого метода вообще нет, откуда он?
Понятия не имею, где-то нашел, главное что кликает, могу на видео показать
 

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 363
Благодарностей
920
Баллы
113
Понятия не имею, где-то нашел, главное что кликает, могу на видео показать
Странно, он даже не компилируется:
"CS1061" "'ZennoLab.CommandCenter.Tab' does not contain a definition for 'GetElementByXpath' and no extension method 'GetElementByXpath' accepting a first argument of type 'ZennoLab.CommandCenter.Tab' could be found (are you missing a using directive or an assembly reference?)"
 

devas111

Client
Регистрация
28.01.2012
Сообщения
201
Благодарностей
9
Баллы
18
Тоже проблема с кликом
В конструкторе клик получается. А запускаю заново проект = проблема с кликом.
Пробовал
C#:
instance.ActiveTab.FindElementByXPath("//xPath",0).Click();
Но у меня не ActiveTab а вкладка по имени = page. Может в этом проблема.

Вот в этом коде как кликнуть?
HTML:
<button class="wt-btn wt-btn--transparent wt-btn--icon wt-z-index-3 wt-mt-xs-1 wt-mr-xs-1" aria-label="Close the chat"><span class=" etsy-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M13.414,12l6.293-6.293a1,1,0,0,0-1.414-1.414L12,10.586,5.707,4.293A1,1,0,0,0,4.293,5.707L10.586,12,4.293,18.293a1,1,0,1,0,1.414,1.414L12,13.414l6.293,6.293a1,1,0,0,0,1.414-1.414Z"></path></svg></span></button></div><div class="thread wt-pb-xs-3 wt-pl-xs-3 wt-pr-xs-3 wt-pt-xs-2 wt-position-relative wt-overflow-y-auto wt-overflow-x-hidden" aria-live="polite" role="log" aria-atomic="false"><div><div></div><p class="wt-text-center-xs chat-welcome"><span data-test-id="unsanitize">Got questions? Semira D can help!</span></p></div><div class="wt-flex-grow-xs-1 wt-display-flex-xs wt-flex-direction-column-xs wt-justify-content-flex-end"><!-- react-empty: 20 --><div></div></div></div><div class="composer wt-pt-xs-1 wt-pb-xs-1 cheact-section-min-height"><form data-ui="composer" id="chat-ui-composer"><!-- react-empty: 24 --><div class="wt-display-flex-xs wt-pl-xs-1 wt-pr-xs-1 wt-pb-xs-2"><div class="wt-flex-xs-3 wt-display-flex-xs wt-flex-direction-column-xs wt-justify-content-center"><textarea placeholder="Write a message" rows="2" class="wt-text-body-01 cheact-text-input wt-text-black wt-pb-xs-0 wt-pt-xs-0 wt-ml-xs-2 wt-mt-xs-1" maxlength="10000"></textarea></div><div class="wt-justify-content-space-between wt-display-flex-xs wt-flex-direction-column-xs"><span class="wt-tooltip wt-tooltip--left"><button type="button" aria-labelledby="tooltip-label-content-3337125e-3c77-4474-aa9d-fd9f99659c27" class="wt-btn wt-tooltip__trigger wt-btn--small wt-btn--icon"><span class="wt-icon--smaller wt-text-gray etsy-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M22,22H2V2H22V22ZM4,20H20V4H4V20Z"></path><circle cx="8" cy="8" r="2"></circle><polygon points="6 18 18 18 14 10 11 15 9 13 6 18"></polygon></svg></span></button><span id="tooltip-label-content-3337125e-3c77-4474-aa9d-fd9f99659c27" role="tooltip"><span>Upload image</span></span><input type="file" accept="image/*,application/pdf" class="wt-display-none"></input></span><input type="file" name="attachment" multiple="" class="display-none"></input>[B]<button class="cheact-arrow-container wt-mr-xs-2" aria-label="Send chat message" disabled=""><span class="wt-text-white cheact-arrow etsy-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false">  <path d="M17.3 12.7l.7-.7-.7-.7-4-4c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4l2.3 2.3H7c-.6 0-1 .4-1 1s.4 1 1 1h7.2l-2.3 2.3c-.2.2-.3.4-.3.7 0 .6.4 1 1 1 .3 0 .5-.1.7-.3l4-4z"></path></svg></span></button>[/B]</div></div><div data-ui="attachments-preview" class="wt-pl-xs-3 wt-display-flex-xs wt-flex-nowrap"></div><div class="wt-display-flex-xs wt-justify-content-center"></div><div class="wt-display-flex-xs wt-justify-content-center"><div class="g-recaptcha-etsy" data-sitekey="6Lc1FQkTAAAAAF4LlafM8YgTONg330-B8ILunInv" data-etsy-autoload="" data-badge="inline" id="g-recaptcha-convos-compose-5f01e66142641"><div style="width: 304px; height: 78px;"><div><iframe src="https://www.google.com/recaptcha/api2/anchor?ar=1&k=6Lc1FQkTAAAAAF4LlafM8YgTONg330-B8ILunInv&co=aHR0cHM6Ly93d3cuZXRzeS5jb206NDQz&hl=en&v=NMoy4HgGiLr5NAQaEQa2ho8X&size=normal&badge=inline&cb=5tad1havna8f" width="304" height="78" role="presentation" name="a-3f5k0aja333k" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox">
 

Вложения

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 363
Благодарностей
920
Баллы
113
Тоже проблема с кликом
В конструкторе клик получается. А запускаю заново проект = проблема с кликом.
Пробовал
C#:
instance.ActiveTab.FindElementByXPath("//xPath",0).Click();
Но у меня не ActiveTab а вкладка по имени = page. Может в этом проблема.

Вот в этом коде как кликнуть?
В данном случае page и есть ActiveTab, если вкладка всего одна. Нужно построить правильный xPath к кнопке и вот с этим кодом всё отлично срабатывает
 

devas111

Client
Регистрация
28.01.2012
Сообщения
201
Благодарностей
9
Баллы
18
И получится с помощью xPath если там SVG
Код чата я приартачил.
 

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 363
Благодарностей
920
Баллы
113
И получится с помощью xPath если там SVG
Код чата я приартачил.
Если это кнопка отправки сообщения в чат конкретно на твоём сайте, то xPath будет такой:
"//button[contains(@class, 'cheact-arrow-container')]"
 

devas111

Client
Регистрация
28.01.2012
Сообщения
201
Благодарностей
9
Баллы
18
Попробовал и так:
C#:
instance.ActiveTab.FindElementByXPath("//button[contains(@class, 'cheact-arrow-container')]",0).Click();
и так
C#:
instance.ActiveTab.FindElementByXPath("//button[contains(@class, 'cheact-arrow-container')]",0);
Ничё не происходит.
Тут я вообще полный нюб.
 

devas111

Client
Регистрация
28.01.2012
Сообщения
201
Благодарностей
9
Баллы
18

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113
  • Спасибо
Реакции: devas111

devas111

Client
Регистрация
28.01.2012
Сообщения
201
Благодарностей
9
Баллы
18
Ты сохрани страницу, и в архив и суда попробуй скинь и напиши точно что надо. Тот код который ты показал там капча
Посмотреть вложение 59341
Не понятно что тебе нужно
Сенкс. Zedx уже все по полочкам разложил в XPath. Большое ему СПСБ.

Есть уроки по XPath на форуме или Ютубе?
А то запустил шаб ч/з соксы и покрошился весь. Наверное только та часть, что Zedx настроил отработает как надо.
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113
Сенкс. Zedx уже все по полочкам разложил в XPath. Большое ему СПСБ.

Есть уроки по XPath на форуме или Ютубе?
А то запустил шаб ч/з соксы и покрошился весь. Наверное только та часть, что Zedx настроил отработает как надо.
 

devas111

Client
Регистрация
28.01.2012
Сообщения
201
Благодарностей
9
Баллы
18
Как добавить в свой код C# имя из профиля {-Profile.Name-} и пароль из профиля {-Profile.Password-}
Мессагу Zedx подсказал как. Ести инфа, как добавлять вариации из проекта?
C#:
Tab tab = instance.ActiveTab;

string message = project.Variables["message"].Value;

// input text
tab.FindElementByXPath("//textarea[contains(@class, 'wt-text-body-01')]", 0).Click();
instance.SendText(message, 0);
 

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 363
Благодарностей
920
Баллы
113
Как добавить в свой код C# имя из профиля {-Profile.Name-} и пароль из профиля {-Profile.Password-}
Например так:
C#:
string name = project.Profile.Name;
string surname = project.Profile.Surname;
и потом уже подставляешь переменные name и surname в отправке
 
  • Спасибо
Реакции: devas111

yauhen

Client
Регистрация
18.02.2020
Сообщения
2
Благодарностей
0
Баллы
1
Привет, тоже нуждаюсь в парсере etsy. напиши мне плиз на телеграм @pshechka
 

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