xpath

BPOH

Client
Регистрация
11.04.2019
Сообщения
129
Благодарностей
28
Баллы
28
Ребят помогите пожалуйста прописать путь xpath

53210



СНИППЕТА:
// НАСТРОЙКИ СНИППЕТА

// По умолчанию все значения для сниппета берутся из переменных
// проекта с префиксами "find_element_", "set_value_", "get_value_", "rise_"

// Если заполнить поля ниже - значения переменных будут игнорироваться

//Путь XPath
string xpath = "//div[@role='textarea']";
//Номер совпадения
int number = 0;

//Название атрибута для установки
string setAttrName = "innerhtml";
//Значение атрибута для установки
string setAttrValue = project.Variables["spintax_text"].Value;


#region Капот

//Получаем значения из переменных
if (string.IsNullOrWhiteSpace(xpath) && project.Variables.Keys.Contains("find_element_xpath"))
{
    xpath = project.Variables["find_element_xpath"].Value;
}
if (project.Variables.Keys.Contains("find_element_number"))
{
    int.TryParse(project.Variables["find_element_number"].Value, out number);
}

if (string.IsNullOrWhiteSpace(setAttrName) && project.Variables.Keys.Contains("set_value_attr_name"))
{
    setAttrName = project.Variables["set_value_attr_name"].Value.ToLower();
}
if (string.IsNullOrWhiteSpace(setAttrValue) && project.Variables.Keys.Contains("set_value_attr_value"))
{
    setAttrValue = project.Variables["set_value_attr_value"].Value;
}

//Ищем элемент
var tab = instance.ActiveTab;
var el = tab.FindElementByXPath(xpath, number);
if (el.IsNull || el.IsVoid)
{
    throw new Exception("Элемент по пути '"+xpath+"' не найден, действие не выполнено!");
}
//Устанавливаем значение атрибута
if (setAttrName=="value")
{
    el.SetValue(setAttrValue, instance.EmulationLevel);
}
else
{
    el.SetAttribute(setAttrName, setAttrValue);
}

#endregion
 

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
122
Баллы
43
Свойство элемента надо
 
  • Спасибо
Реакции: BPOH

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 719
Баллы
113
это все ни капельки не помогает в составлении xpath . лучше html страницы скопируйте в текстовом виде, через dev tools
53215
 
  • Спасибо
Реакции: BPOH

BPOH

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

BPOH

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

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
122
Баллы
43
//textarea[@id='mceu_44']
 
  • Спасибо
Реакции: BPOH

BPOH

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

BPOH

Client
Регистрация
11.04.2019
Сообщения
129
Благодарностей
28
Баллы
28
Так идёт по красной ветке какбудто не находит элемент

//Путь XPath
string xpath = "//textarea[@id='mceu_44']";
//Номер совпадения
int number = 0;


Подскажи пожалуйста что значит эта строка? может она не верная?
//Название атрибута для установки
string setAttrName = "innerhtml";
 

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
122
Баллы
43
А так текст вставляется не в поле а на уровень выше
53250


Если об этом то да, так и должно быть.
К сожалению не могу понять на скрине предка - textarea в каком div находится?
Нужно огда от него путь составлять
что значит эта строка?
Это не смогу подсказать) Не сильный знаток C#
 
  • Спасибо
Реакции: BPOH

radv

Client
Регистрация
11.05.2015
Сообщения
3 788
Благодарностей
1 952
Баллы
113
вот тут отвечал уже на подобный вопрос
 
  • Спасибо
Реакции: orka13 и BPOH

kagorec

Client
Регистрация
24.08.2013
Сообщения
979
Благодарностей
523
Баллы
93
xpath:
//*[contains(@id,'mceu_') and contains(@class,'mce-container')]
 
  • Спасибо
Реакции: BPOH

BPOH

Client
Регистрация
11.04.2019
Сообщения
129
Благодарностей
28
Баллы
28
Ребята спасибо огромное за помощь, решил немного иначе через

C#:
var descr = project.Variables["spintax_text"].Value;
System.Windows.Forms.Clipboard.SetText(descr);
instance.ActiveTab.KeyEvent("v","press","ctrl");
 
  • Спасибо
Реакции: kagorec и Platon

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