Через ресурс он и будет брать по одной строчке из файла
Помогите пожалуйста взять текст XPATH в двух элементах разных
-
задача1.
есть элемент:
<div class="555">
$50
<div class="qwerty123">
<span class="777">
"-"
"0.16%"
</span>
</div>
</div>Я никак не могу взять только текст "$50", без текста который находится еще в внутри спана.
XPATH>//div[contains(@class,'555')] - получается переменная с именем - "$50-0.16%"
XPATH>//div[contains(@class,'555r')]/text() (работает в браузере, находит 1 элемент тот что нужно, но в БАСе если нажимаю получить текст через этот путь, переменная получается без имени)Как вариант я хотел обрезать ПОЛНУЮ строку (убрать все что ДО знака"-"), но усложняет задачу то, что в другом месте сайта может быть знак "+" на этом месте
Получается если обрезать строку по знаку, то нужно указывать что будет например "-" ИЛИ "+" (все что ДО этого знака или другого, обрежь)грубо говоря - Обреж строку "$50(-)0.16%" до знака "-", учитывая, что там может быть "+"
Я не смог пока решить задачу (не важно брать всю строку и потом резать нужную часть, либо через XPATH достать сразу только нужный текст.
задача2 (суть похожа, но чуть изменились условия).
<div class="111">
Брат по которому ищем
</div>
<div class="555">
<span class="777">
$33
</span>
"0.16"
"%"
</div>Тут мне отдельно нужно достать ВСЕ значения (и "$33" и "0.16" и "%")
Спан(внутри с текстом "$33"), текст - "0.16" и текст- "%" находятся на одном уровнеЕсли я обращаюсь через XPATH к "div" и прошу найти его текст, получается = "$330.16%", а мне нужны они по раздельности.
XPATH> //div[contains(@class,'111')][text()='Брат по которому ищем']//following-sibling::div
Если я обращаюсь только к спану, то работает, достает "$33", но остальной текст отдельно не получается достать
XPATH> //div[contains(@class,'111')][text()='Брат по которому ищем']//following-sibling::div/span
Кроме как достать из разметки правильно текст каждый отдельно, есть вариант взять ВСЮ строку что выше, Удалить в ней ту часть что ниже (в спане), останется как раз нужный кусок. Т.е. из строки УДАЛИТЬ подстроку.
Но у меня в БАСе тоже не получается это сделать, уровня не хватает пока.Помогите пожалуйста решить 2 задачки эти и достать наконец нужный текст.
Огромное спасибо!! -
- //div[contains(@class,'555')]/text()[1]
- Аналогично, только /text() с другим индексом. Или вы хотите сразу массив строк получить?
-
@Vituskosoy
Спасибо. Действительно это работает если написать в браузере. Но по неизвестной мне причине БАС не сохраняет текст, когда я в XPATH пишу - "/text()"
Возможно что-то делаю неправильно.
Но повторюсь, если полный адрес вставить в браузере - "ПУТЬ К ЭЛЕМЕНТУ/text()", тогда выделяется текст который мне нужен, все прекрасно. Но нажимаю - СОХРАНИТЬ ТЕКСТ, в БАС, вставляю этот адрес, он дает пустые кавычки.
Видимо это нужно делать как-то с другим действием (не текст сохранить?)