Как написать запрос XPath для текста в пределах <script>, используя PhantomJS - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь очистить какой-то конкретный контент, который находится в разделе <script> страницы (внизу страницы до конца тега. Насколько я понимаю, этого нельзя сделать с помощью обычного XPathпоэтому я буду использовать облако PhantomJs через плагин SEOTools для Excel.

Пожалуйста, смотрите код ниже:

<script> window.__INITIAL_STATE__ = {"questions":{"list":{},"status":{}},"sites":{"list":{"SEOTest":{"joined":"2016-04-17T22:00:31.000Z","threshold":[],"abn":"8724483318952",

Я хочу иметь возможность очищать текст после поля "ABN", поэтомуxpath вернет "8724483318952". Кто-нибудь знает, как это можно сделать с помощью xpath?

1 Ответ

0 голосов
/ 13 февраля 2019

Чтобы получить желаемое целевое значение строки "8724483318952", вы можете использовать следующее выражение XPath-1.0:

substring-before(substring-after(script,'abn&quot;:'),',')

Получает нужную строку из тега <script> и выводит * 1006.*

"8724483318952"


Подпись XPathUrl, в соответствии с эта ссылка :

=XPathOnUrl(
   string url, 
   string xpath, 
   string attribute, 
   string xmlHttpSettings, 
   string mode
) : vector

Таким образом, все выражение может выглядеть так:

 =XPathOnUrl(A2,"substring-before(substring-after(//ul[@class='headshot']/script,'abn&quot;:'),',')")

Я не уверен, что это выражение действительно работает, но оно должно дать вам довольно точное представление о том, как обрабатывать выражения XPath в целом.

...