Как правильно получить значение, содержащееся внутри раздела, с помощью XPath? - PullRequest
0 голосов
/ 26 мая 2020

со следующим HTML (фрагмент, взятый с веб-страницы, которую я хотел удалить):

<div class="ulListContainer">
    <section class="stockUpdater">
        <ul class="column4">
            <li>
                <img src="1.png" alt="">
                <strong>
                    Buy*
                </strong>
                <strong>
                    Sell*
                </strong>
            </li>
            <li>
                <header>
                    $USD
                </header>
                <span class="">              
                    20.90
                </span>
                <span class="">               
                     23.15
                </span>
            </li>
        </ul>
        <ul>...</ul>
    </section>
</div>

как мне получить значение 2nd li 1st span с помощью XPath? Результат должен быть 20.90.

Я пробовал следующие //div[@class="ulListContainer"]/section/ul[1]/li[2]/span[1], но не получаю никаких значений. Я должен сказать, что это используется из Google Sheet и с помощью функции IMPORTXML (не уверен, какую версию XPath он использует), могу ли я получить помощь?

Обновление

Очевидно, Google Таблицы не поддерживают такое "сложное" выражение XPath, поскольку оно работает нормально:

enter image description here

Обновление 1 Как и просили, я поделился листом Google, который использую для тестирования, вот ссылка

Ответы [ 2 ]

2 голосов
/ 27 мая 2020

Что вам нужно:

=IMPORTXML(A1;"//li[contains(text(),'USD')]/span[1]")

USD

Удаление section из исходного XPath тоже подойдет:

=IMPORTXML(A1;"//div[@class='ulListContainer']/ul[1]/li[2]/span[1]")
0 голосов
/ 26 мая 2020

Попробуйте следующее:

=IMPORTXML("URL","//span[1]")

Измените URL-адрес на фактическую ссылку / URL-адрес веб-сайта

...