Нужна помощь

  • Автор темы Автор темы DROGBA145
  • Дата начала Дата начала

DROGBA145

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

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    59,4 KB · Просмотры: 159
Может кто подскажет, что здесь выбрать, чтобы всегда нажималась кнопка Написать.
Бывает не нажимается и соответственно происходит ошибка проекта.
Пробовал атрибут:
class
innerhtml нет одного значения, целых 7 находит, но даже на 7 где находится кнопка не помогает.
jsaction
jscrontroller
Эти тоже два не помогают, подскажите если кто знает, заранее спасибо.
Попробуйте прописать end вместо номера совпадения. Кол-во совпадений возможно меняется, а правильное в этой ситуации видимо - всегда последнее.
 
  • Оценить
Реакции: DROGBA145
Попробуйте прописать end вместо номера совпадения. Кол-во совпадений возможно меняется, а правильное в этой ситуации видимо - всегда последнее.
Ошибка иногда еще бывает, но стало вроде бы лучше.
Еще раз спасибо!!!
 
  • Оценить
Реакции: Sergodjan
@DROGBA145 Еще бы глянуть родительский элемент, может там есть за что зацепится.
 
@DROGBA145 Еще бы глянуть родительский элемент, может там есть за что зацепится.
Если вы про дерево элемента, то в других ветках вообще ничего не подходит, не кликает с ними, хоть и выделяет данную кнопку
 
Попробуйте прописать end вместо номера совпадения. Кол-во совпадений возможно меняется, а правильное в этой ситуации видимо - всегда последнее.
Сделал 5 кликов, чтобы было, короче если innerhtml не находит идет на клик innertext, если и его не находит, то на class и так далее, думаю одно что-нибудь да найдет если случится ошибка.
 
Уже попробовал, помогло, но не до конца, но лучше стало
кидай ссылку попробуем, че уж там)
Я бы попробовал провалится на более верхний уровень outerhtml и поискать значения там.
 
  • Оценить
Реакции: djaga
попробуй xpath

C#:
Развернуть Свернуть Копировать
//div[contains(text(), 'Написать')]


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

C#:
Развернуть Свернуть Копировать
//div[contains(text(), 'Написать')]


а вообще советую делать проверку нажатий, ну как пример - смена url
можно брать урл перед кликом и после, и сравнивать ЕСЛИ они НЕ равны, то это значит что клик был правильный, если равны, то клика не было
Не сильно шарю в зенке, только основу знаю и то не полностью, поэтому к сожалению не понимаю как это сделать
 
Не сильно шарю в зенке, только основу знаю и то не полностью, поэтому к сожалению не понимаю как это сделать
ну тут только 2 варианта развития событий
1. мы учимся искать информацию сами, и изучаем зенку - https://www.youtube.com/results?search_query=zennoposter+xpath
2. мы заказываем за денюшку решение и не паримся
 
  • Оценить
Реакции: DROGBA145 и djaga
Не сильно шарю в зенке, только основу знаю и то не полностью, поэтому к сожалению не понимаю как это сделать
Кубик c# в него вставить это
C#:
Развернуть Свернуть Копировать
instance.ActiveTab.FindElementByXPath("//div[contains(text(), 'Написать')]",0).Click();
 
  • Оценить
Реакции: DROGBA145
А вообще ссылку пришлите
Спасибо попробую.
Ссылка вот
 
Ну кликает, но нужно проверить на процессе, потому что на всем другом тоже работает, но не стабильно
Или так
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
Ну кликает, но нужно проверить на процессе, потому что на всем другом тоже работает, но не стабильно
Или так

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
Даже так кликает
C#:
Развернуть Свернуть Копировать
instance.ActiveTab.FindElementByXPath("//*[@role='navigation']",0).Click();
 
Кубик c# в него вставить это
C#:
Развернуть Свернуть Копировать
instance.ActiveTab.FindElementByXPath("//div[contains(text(), 'Написать')]",0).Click();
Данный способ помог, больше пока что ошибки не было, спасибо Вам.
Остальные ниже способы не пришлось пробовать.
 

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