Xpath_генерирует текстовый файл с HTML-страницы с помощью xpath

#html #xpath

#HTML #xpath

Вопрос:

Мне нужно получить текст, используя приведенный ниже xpath. Я безуспешно пытался добраться до соответствующего текста.

 //*[@title="Vulnerability - level 5"]/child::[contains(text(),'RESULTS:')]/text()
  

Добавить фотографию к требуемому тексту

Комментарии:

1. лучше показывать код в тексте, а не в изображении, которое непонятно…

Ответ №1:

Я предполагаю, что ваш html-файл выглядит следующим образом:

HTML:

 <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>title</title>
    </head>
    <body>
        <div title="Vulnerability - level 5">
            <div>RESULTS: xyz xyz <a>abc</a></div>
        </div>
        <div title="Vulnerability - level 4">
            <div>RESULTS: xyz xyz</div>
        </div>

        <div title="Vulnerability - level 5">
            <div>xyz xyz RESULTS: xyz xyz</div>
        </div>

    </body>
</html>
  

XPath:

 //*[@title="Vulnerability - level 5"]/child::*[contains(.,'RESULTS:')]/string()
  

Пожалуйста, проверьте этот XPath, надеюсь, это поможет вам получить результат.

Комментарии:

1. Последний string() вызов функции преобразует это в выражение XPath 2.0.

2. О, да, вы правы, можно заменить string() на text() , но это вернет только первый текст.

3. Вы можете использовать его как string(//*[@title="Vulnerability - level 5"]/*[contains(.,'RESULTS:')])