XPATH Соответствующая цена продажи или обычная цена - PullRequest
1 голос
/ 26 марта 2020

Мне нужно соответствовать либо продажной цене (если продается), либо обычной цене, используя одно выражение (надеюсь, это правильный термин). Вот два примера HTML структур:

В продаже

<span class="price">
<del>
    <span class="woocommerce-Price-amount amount">
        <span class="woocommerce-Price-currencySymbol">&#36;</span>
        14.99
    </span>
</del> 
<ins>
    <span class="woocommerce-Price-amount amount">
        <span class="woocommerce-Price-currencySymbol">&#36;</span>
        12.99
    </span>
</ins>

Обычная цена

<p class="price">
<span class="woocommerce-Price-amount amount">
    <span class="woocommerce-Price-currencySymbol">&#36;</span>
    25.00
</span>
</p>

Выражение, которое у меня пока есть:

//*[@class="woocommerce-Price-amount amount"][last()]

Соответствует обоим сценариям ios, но возвращает как обычные цены, так и цены продажи для сценария "В продаже". Нужны ли мне какие-то условия, чтобы вернуть только продажную цену?

Я думал, что смогу вернуть только последнюю [@ class = "woocommerce-Price-суммы сумма"]. Я попробовал последнего ребенка, но не полностью понял.

1 Ответ

0 голосов
/ 26 марта 2020

Во-первых, обратите внимание, что в вашем фрагменте "в продаже" вы пропускаете закрывающий <span>, но если мы исправим его, это запутанное выражение должно сработать.

Он отформатирован для более удобного чтения:

//span[@class="woocommerce-Price-amount amount"]

[parent::p

or

parent::ins

]

Попробуйте его на действительном коде и посмотрите, работает ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...