Как спарсить число с помощью xPath вот в таком коде?

Evgeny

Client
Регистрация
01.03.2012
Сообщения
127
Благодарностей
12
Баллы
18
Помогите пожалуйста спарсить число 200 (бывает разным значением)
На сайте много ячеек с такими данными, единственная разница это название картинки pics111 и число 200
Название моей картинки pics111 и поиск ячейки нужно делать с названием картинки pics111
Но спарсить нужно число где в данный момент 200, оно будет меняться и мне нужно постоянно получать это число.
И еще момент, в классах постоянно есть буквы __cfhj (рандом буквы) буквы разные. Можно как то искать типа по Hud_item__ без этих букв, но чтобы срабатывало действие?
C#:
<div class="Hud_item__cfhj">
<div class="Hud_shortcut__cfhg">0</div>
<div class="clickable">
<img class="Hud_itemImage__fhtu" src="//site.net/2222/pics111.png">
</div>
<div class="Hud_quantity__shgj">200</div>
</div>
 

inilim

Client
Регистрация
16.09.2017
Сообщения
446
Благодарностей
170
Баллы
43
Обязательно xPath?
Код:
div[class*="_quantity_"]
 

Вложения

  • Спасибо
Реакции: Evgeny

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
549
Благодарностей
1 130
Баллы
93
Помогите пожалуйста спарсить число 200 (бывает разным значением)
На сайте много ячеек с такими данными, единственная разница это название картинки pics111 и число 200
Название моей картинки pics111 и поиск ячейки нужно делать с названием картинки pics111
Но спарсить нужно число где в данный момент 200, оно будет меняться и мне нужно постоянно получать это число.
И еще момент, в классах постоянно есть буквы __cfhj (рандом буквы) буквы разные. Можно как то искать типа по Hud_item__ без этих букв, но чтобы срабатывало действие?
C#:
<div class="Hud_item__cfhj">
<div class="Hud_shortcut__cfhg">0</div>
<div class="clickable">
<img class="Hud_itemImage__fhtu" src="//site.net/2222/pics111.png">
</div>
<div class="Hud_quantity__shgj">200</div>
</div>
Попробуйте так:
.//div[contains(@class,'Hud_quantity')]

Исправил, так как в дереве может быть много схожих значений
Сделал привязку к имени файла в ссылке:
upd: .//img[contains(@src,'pics111.png')]/parent::div/parent::div/div[contains(@class,'Hud_quantity')]
Если хотите ещё точнее, пришлите ссылку сюда или в ЛС.
 
Последнее редактирование:
  • Спасибо
Реакции: kagorec и Evgeny

Evgeny

Client
Регистрация
01.03.2012
Сообщения
127
Благодарностей
12
Баллы
18
Нужно тут еще обязательно добавить поиск по названию картинки pics111.png
Потому что в этих ячейках находятся картинки с разными именами (рандом), но конкретно нужная мне картинка название известно это pics111.png
Таких ячеек в таблице может быть 20 и в них все одинаково, но различие только в названии картинки и той цифры 200, которая у всех своя. Я пробовал как вы показали, но бывает эти картинки меняются местами, и уже привязки к порядку картинок не получается сделать, пробовал искать в классическом поиске элементов, но там привязка к 1 элементу. Пробовал пробовал, но как только картинка меняла место в порядке, все сразу ломается и показывает значение другой картинки
Вот я и подумал, что в xPath както еще можно добавить поиск названия картинки, но как, ума уже не хватает))
 
Последнее редактирование:

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
Если бы был побольше кусок html, можно было бы больше понять. Я исходил из того, что искомый div всегда следует за div-ом в котором лежит img, а так же из того, что вот эти части классов "fhtu", "shgj" генерятся автоматически, и привязываться к ним не стоит:
C#:
//img[contains(@src, 'pics111.png')]/ancestor::div[@class='clickable']/following::div[contains(@class, 'Hud_quantity')]
 
Последнее редактирование:
  • Спасибо
Реакции: Evgeny

Evgeny

Client
Регистрация
01.03.2012
Сообщения
127
Благодарностей
12
Баллы
18
djaga и semafor Спасибо Человеческое огромное, почти неделю пытаюсь найти вариант, в итоге только тут смогли помочь :-)))
Насчет побольше кусок html , там просто эти дивы друг за другом, и
<div class="Hud_item__cfhj"> это начало нового дива с картинкой. Но уже все решили, все нашлось, спасибо огромное ))
 
  • Спасибо
Реакции: djaga

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