Поиск псевдоэлемента ::before

n1k0la

Новичок
Регистрация
13.08.2021
Сообщения
8
Благодарностей
0
Баллы
1
Здравствуйте люди добрые! Если кто знает, подскажите пожалуйста, как добавить в селектор псевдоэлемент :before. Мне необходимо выполнить проверку элемента на странице, имею селектор вида //div/blockquote[contains(@data-quote, "Privet")], как мне в него добавить ::before ?
 

plastov

Client
Регистрация
06.10.2021
Сообщения
29
Благодарностей
14
Баллы
3
Черех xpath к ::before и ::after нет возможности обратиться. Можно через js, на stackoverflow можно найти пример.

Но там обычно просто текст, тогда можно так
Код:
//div/blockquote[contains(@data-quote, "Privet") and text()='ТЕКСТ']
или
Код:
//div/blockquote[contains(@data-quote, "Privet") and contains(text(), 'ТЕКСТ')]
Если надо проверить чекбокс, стоит галка или нет, то надо проверять input:checked

 
Последнее редактирование:
  • Спасибо
Реакции: n1k0la

n1k0la

Новичок
Регистрация
13.08.2021
Сообщения
8
Благодарностей
0
Баллы
1
Черех xpath к ::before и ::after нет возможности обратиться. Можно через js, на stackoverflow можно найти пример.

Но там обычно просто текст, тогда можно так
Код:
//div/blockquote[contains(@data-quote, "Privet") and text()='ТЕКСТ']
или
Код:
//div/blockquote[contains(@data-quote, "Privet") and contains(text(), 'ТЕКСТ')]
Если надо проверить чекбокс, стоит галка или нет, то надо проверять input:checked

Здравствуйте! Cпасибо огромное за ответ, а то я уже голову сломал).Дело в том, что некоторые недобросовестные люди в силу недостатка знаний в этой области дают неверные советы-решения, так на ютубе мне человек написал: В CSS создать/найти псевдоэлемент ::before можно запросом типа "div blockquote[data-quote='Privet']::before". Сам же я вычитал, что псевдоэлементы это элементы, которые не существуют в html разметке, на то они и псевдо. Подскажите пожалуйста, а могу ли я, как-то искать элемент где содержится просто текст, без каких либо атрибутов? Есть тег в нем содержится другой тег, после закрытия которого идет просто текст в ковычках, <div class="bbW"><blockquote всякие атрибуты></blockquote>"Текст"</div>. Но мне нужно искать этот элемент не по определенному тексту, т.е. он может быть каким угодно. Возможно ли какую-то маску указать типа *, [contains(text()="*"], или как-то можно вычесть из родительского тега <div дочерний <blockquote и как раз останется требуемый мне элемент "текст", как правильно сделать такую запись //div[@class="bbW"][not(/blockquote)] ? Подскажите пожалуйста,если знаете, просто сейчас мне приходится брать тег //div вместе с содержимым тега //blockquote, и далее уже распарсивать этот текст, а это лишнее время на выполнение, много лишних действий.
 
Последнее редактирование:

plastov

Client
Регистрация
06.10.2021
Сообщения
29
Благодарностей
14
Баллы
3
А InnerText от div что выдает? Текст вместе <blockquote атрибуты..> ? Если да, тогда только regex наверн
C#:
var tab = instance.ActiveTab;
var he = tab.FindElementByXPath(@"//div[@class='bbW']", 0);
string text = he.InnerText.Trim(); //Какой текст получается здесь?

По поводу regex(маски) в xpath в ЗП я не вкурсе.
 
  • Спасибо
Реакции: n1k0la

n1k0la

Новичок
Регистрация
13.08.2021
Сообщения
8
Благодарностей
0
Баллы
1
А InnerText от div что выдает? Текст вместе <blockquote атрибуты..> ? Если да, тогда только regex наверн
C#:
var tab = instance.ActiveTab;
var he = tab.FindElementByXPath(@"//div[@class='bbW']", 0);
string text = he.InnerText.Trim(); //Какой текст получается здесь?

По поводу regex(маски) в xpath в ЗП я не вкурсе.
Здравствуйте! Спасибо за ответ! InnerText от div? Я не зная что это и где это. Цитата на странице, описана блоком <div class="bbW"><blockquote всякие атрибуты>как правило тут имя цитируеМОГО и его ТЕКСТ1</blockquote>"а тут ТЕКСТ2 цитируюЩЕГО"</div>. Мне необходимо взять отдельно ТЕКСТ2, без ТЕКСТ1. У меня получается взять весь блок только, там соответсвенно лишний текст, который в последствии приходится отсеивать. Да это видимо просто, как-то делается, просто я зеленый призеленый новичек в этих делах. Если идет чистый текст то все нормально, а если идет цитирование то лишний-ненужный мне текст попадает в переменную.
 
Последнее редактирование:

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 721
Баллы
113
лучше приведи кусок html кода полностью. ну нихрена же не понятно что надо из всего написанного :bk:
 

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