xpath

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

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
 
Свойство элемента надо
 
  • Спасибо
Реакции: BPOH
это все ни капельки не помогает в составлении xpath . лучше html страницы скопируйте в текстовом виде, через dev tools
53215
 
  • Спасибо
Реакции: BPOH
//textarea[@id='mceu_44']
 
  • Спасибо
Реакции: BPOH

Так идёт по красной ветке какбудто не находит элемент

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


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


Если об этом то да, так и должно быть.
Не находит так
К сожалению не могу понять на скрине предка - textarea в каком div находится?
Нужно огда от него путь составлять
что значит эта строка?
Это не смогу подсказать) Не сильный знаток C#
 
  • Спасибо
Реакции: BPOH
вот тут отвечал уже на подобный вопрос
 
  • Спасибо
Реакции: orka13 и BPOH
xpath:
Развернуть Свернуть Копировать
//*[contains(@id,'mceu_') and contains(@class,'mce-container')]
 
  • Спасибо
Реакции: BPOH
Ребята спасибо огромное за помощь, решил немного иначе через

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

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