C# синтаксис ошибка

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
подскажите почему этот код выдает ошибку?

C#:
string myXpath = "//div[@id='placeholder-dq1h7']";

var div = instance.ActiveTab.FindElementsByXPath(myXpath);

instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(div);

Компиляция кода Ошибка в действии "CS1503" "Аргумент "1": преобразование типа из "ZennoLab.CommandCenter.HtmlElementCollection" в "ZennoLab.CommandCenter.HtmlElement" невозможно". [Строка: 2; Cтолбец: 56]
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
Не работаю с браузером вообще и опыта нет. Но, судя по ошибке, я бы интуитивно первым делом попробовал заменить вторую строчку на что-то вроде:

C#:
HtmlElement div = instance.ActiveTab.FindElementsByXPath(myXpath).Range("0");
 

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 181
Благодарностей
821
Баллы
113
Во второй строке переменно присваивается коллекция элементов, поэтому и ошибка, что не может преобразовать коллекцию в 1 элемент. Нужно использовать метод FindElementByXPath а не FindElementsByXPath и указать номер элемента

C#:
string myXpath = "//div[@id='placeholder-dq1h7']";
var div = instance.ActiveTab.FindElementByXPath(myXpath, 0);
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(div);
 
  • Спасибо
Реакции: twisterrr, Nick и Alexmd

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
Во второй строке переменно присваивается коллекция элементов, поэтому и ошибка, что не может преобразовать коллекцию в 1 элемент. Нужно использовать метод FindElementByXPath а не FindElementsByXPath и указать номер элемента

C#:
string myXpath = "//div[@id='placeholder-dq1h7']";
var div = instance.ActiveTab.FindElementByXPath(myXpath, 0);
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(div);
спасибо, а еще подскажите пожалуйста как правильно нужно вставлять переменную? почему то этот код не срабатывает, в логах ОК но движение к элементу не происходит, вместо переменной вставляю //div[@id='placeholder-dq1h7'] все работает

C#:
string myXpath = "project.Variables['temp_comment'].Value";
 

nouazak

Client
Регистрация
07.06.2018
Сообщения
101
Благодарностей
26
Баллы
28
спасибо, а еще подскажите пожалуйста как правильно нужно вставлять переменную? почему то этот код не срабатывает, в логах ОК но движение к элементу не происходит, вместо переменной вставляю //div[@id='placeholder-dq1h7'] все работает
C#:
string myXpath = project.Variables["temp_comment"].Value;
без кавычек прописать
 
  • Спасибо
Реакции: twisterrr

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18

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