Решено. Помогите составить конструкцию if else

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
Помогите составить конструкцию используя операторы if else. Знаю как php, python, на c# не знаю. Работа через webdriver.dll от Selenium
Если находится элемент на странице,то делаем одну конструкцию и записываем YES в переменную и прерывание выполнения по типу break, если не находим, то другую конструкцию и NO в переменную

if driver.FindElementByXPath("//android.widget.EditText[contains(@text, 'identifying code')]")
делаем что-то
записываем YES в переменную
прерываем выполнение (break???)
else
делаем что-то
записываем NO в переменную
 
Последнее редактирование:

lirik

Client
Регистрация
31.05.2016
Сообщения
105
Благодарностей
49
Баллы
28

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Как-то так, не проверял:
Код:
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementByXPath("//android.widget.EditText[contains(@text, 'identifying code')]", 0);
if (!he.IsVoid)
{
    // что-то делать
    project.Variables["result"].Value = "yes"; // или return "yes"
}else
{
    // что-то делать
    project.Variables["result"].Value = "no"; // или return "no"
}
 

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
Станд. кубики - http://zennolab.com/wiki/ru:actions:logic не подходят чтоль?
Нет
Как-то так, не проверял:
Код:
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementByXPath("//android.widget.EditText[contains(@text, 'identifying code')]", 0);
if (!he.IsVoid)
{
    // что-то делать
    project.Variables["result"].Value = "yes"; // или return "yes"
}else
{
    // что-то делать
    project.Variables["result"].Value = "no"; // или return "no"
}
Работа происходит не в текущей вкладке, а в приложении на андроиде через selenium, так что тоже не подходит
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Работа происходит не в текущей вкладке, а в приложении на андроиде через selenium
Стоило это упомянуть в первом посте. Не все тут работали с selenium'ом, что-бы его сразу узнать.
 
  • Спасибо
Реакции: Sanekk

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33

Sanekk

Client
Регистрация
24.06.2016
Сообщения
999
Благодарностей
390
Баллы
63
Нет

Работа происходит не в текущей вкладке, а в приложении на андроиде через selenium, так что тоже не подходит
Если через selenium работаете,зачем на форуме зеннолаб спрашиваете?
Здесь в сишарп кубиках очень много zenno-методов используется,а вам на чистом с# надо, с таким вопросом лучше на форум кодеров в соответствующий раздел.
 

lybimiy86

Client
Регистрация
29.10.2016
Сообщения
97
Благодарностей
187
Баллы
33
Если через selenium работаете,зачем на форуме зеннолаб спрашиваете?
Здесь в сишарп кубиках очень много zenno-методов используется,а вам на чистом с# надо, с таким вопросом лучше на форум кодеров в соответствующий раздел.
Спрашиваю, потому что могу.

В инете нашел:
Код:
if (driver.FindElementByXPath("//android.widget.RelativeLayout[contains(@resource-id, 'rl_ali_sign_in_btn')]").size()>0)
    driver.FindElementsByClassName("android.widget.TextView").Where(f=> f.Text == "AliExpress").First().Click();
else
    driver.FindElementsByClassName("android.widget.TextView").Where(f=> f.Text == "AliExpress").First().Click();
Ошибка такая:
Тип Время Сообщение
12:26:02 Компиляция кода Ошибка в действии "CS1061" ""OpenQA.Selenium.IWebElement" не содержит определение для "size". Не удалось найти метод расширения "size", принимающий первый аргумент типа "OpenQA.Selenium.IWebElement" (пропущена директива using или ссылка на сборку?)". [Строка: 16; Cтолбец: 112]
Решение: использовать FindElements вместо FindElement и Count вместо size
 
Последнее редактирование:
  • Спасибо
Реакции: irving zisman

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