Нужна помощь

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8
Может кто подскажет, что здесь выбрать, чтобы всегда нажималась кнопка Написать.
Бывает не нажимается и соответственно происходит ошибка проекта.
Пробовал атрибут:
class
innerhtml нет одного значения, целых 7 находит, но даже на 7 где находится кнопка не помогает.
jsaction
jscrontroller
Эти тоже два не помогают, подскажите если кто знает, заранее спасибо.
 

Вложения

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 416
Благодарностей
9 119
Баллы
113
Может кто подскажет, что здесь выбрать, чтобы всегда нажималась кнопка Написать.
Бывает не нажимается и соответственно происходит ошибка проекта.
Пробовал атрибут:
class
innerhtml нет одного значения, целых 7 находит, но даже на 7 где находится кнопка не помогает.
jsaction
jscrontroller
Эти тоже два не помогают, подскажите если кто знает, заранее спасибо.
Попробуйте прописать end вместо номера совпадения. Кол-во совпадений возможно меняется, а правильное в этой ситуации видимо - всегда последнее.
 
  • Спасибо
Реакции: DROGBA145

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8
Попробуйте прописать end вместо номера совпадения. Кол-во совпадений возможно меняется, а правильное в этой ситуации видимо - всегда последнее.
Спасибо, попробую.
 

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8
Попробуйте прописать end вместо номера совпадения. Кол-во совпадений возможно меняется, а правильное в этой ситуации видимо - всегда последнее.
Ошибка иногда еще бывает, но стало вроде бы лучше.
Еще раз спасибо!!!
 
  • Спасибо
Реакции: Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 416
Благодарностей
9 119
Баллы
113

inilim

Client
Регистрация
16.09.2017
Сообщения
446
Благодарностей
170
Баллы
43
@DROGBA145 Еще бы глянуть родительский элемент, может там есть за что зацепится.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8
@DROGBA145 Еще бы глянуть родительский элемент, может там есть за что зацепится.
Если вы про дерево элемента, то в других ветках вообще ничего не подходит, не кликает с ними, хоть и выделяет данную кнопку
 

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8
Попробуйте прописать end вместо номера совпадения. Кол-во совпадений возможно меняется, а правильное в этой ситуации видимо - всегда последнее.
Сделал 5 кликов, чтобы было, короче если innerhtml не находит идет на клик innertext, если и его не находит, то на class и так далее, думаю одно что-нибудь да найдет если случится ошибка.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Уже попробовал, помогло, но не до конца, но лучше стало
кидай ссылку попробуем, че уж там)
Я бы попробовал провалится на более верхний уровень outerhtml и поискать значения там.
 
  • Спасибо
Реакции: djaga

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
попробуй xpath

C#:
//div[contains(text(), 'Написать')]

а вообще советую делать проверку нажатий, ну как пример - смена url
можно брать урл перед кликом и после, и сравнивать ЕСЛИ они НЕ равны, то это значит что клик был правильный, если равны, то клика не было
 
  • Спасибо
Реакции: Mikhail B. и djaga

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8
попробуй xpath

C#:
//div[contains(text(), 'Написать')]

а вообще советую делать проверку нажатий, ну как пример - смена url
можно брать урл перед кликом и после, и сравнивать ЕСЛИ они НЕ равны, то это значит что клик был правильный, если равны, то клика не было
Не сильно шарю в зенке, только основу знаю и то не полностью, поэтому к сожалению не понимаю как это сделать
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
Не сильно шарю в зенке, только основу знаю и то не полностью, поэтому к сожалению не понимаю как это сделать
ну тут только 2 варианта развития событий
1. мы учимся искать информацию сами, и изучаем зенку - https://www.youtube.com/results?search_query=zennoposter+xpath
2. мы заказываем за денюшку решение и не паримся
 
  • Спасибо
Реакции: DROGBA145 и djaga

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
Не сильно шарю в зенке, только основу знаю и то не полностью, поэтому к сожалению не понимаю как это сделать
Кубик c# в него вставить это
C#:
instance.ActiveTab.FindElementByXPath("//div[contains(text(), 'Написать')]",0).Click();
 
  • Спасибо
Реакции: DROGBA145

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
Ну кликает, но нужно проверить на процессе, потому что на всем другом тоже работает, но не стабильно
Или так
C#:
instance.ActiveTab.FindElementByXPath("//*[@role='navigation']//div[@role='button']",0).Click();
Можно так

C#:
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(instance.ActiveTab.FindElementByXPath("//*[@role='navigation']//div[@role='button']",0));
instance.ActiveTab.FullEmulationMouseClick("left","click");
 
  • Спасибо
Реакции: DROGBA145

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
Ну кликает, но нужно проверить на процессе, потому что на всем другом тоже работает, но не стабильно
Или так

C#:
instance.ActiveTab.FindElementByXPath("//*[@style='user-select: none']",0).Click();
Или так

instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(instance.ActiveTab.FindElementByXPath("//*[@style='user-select: none']",0));
instance.ActiveTab.FullEmulationMouseClick("left","click");
 
  • Спасибо
Реакции: DROGBA145

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
Даже так кликает
C#:
instance.ActiveTab.FindElementByXPath("//*[@role='navigation']",0).Click();
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8
Спасибо, буду пробовать
 
  • Спасибо
Реакции: Mikhail B.

DROGBA145

Client
Регистрация
04.06.2018
Сообщения
62
Благодарностей
9
Баллы
8
Кубик c# в него вставить это
C#:
instance.ActiveTab.FindElementByXPath("//div[contains(text(), 'Написать')]",0).Click();
Данный способ помог, больше пока что ошибки не было, спасибо Вам.
Остальные ниже способы не пришлось пробовать.
 

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