Использование XPATH для поиска текста в div внутри div - PullRequest
0 голосов
/ 17 апреля 2020
<?xml version="1.0" encoding="UTF-8"?>

<div id="app" class="grid bg-local font-body justify-center" style="background-image: url(&quot;/img/picture.jpg&quot;);"> 
  <div data-v-f7g8b83d=" " data-fruit-code="**I WANT TO GET WHAT'S IN HERE**" class="note relative bg-background items-center select-none w-56 sm:w-64 pb-4" style="transform: rotate(6deg);"/>  
  <div data-v-f7g8b83d=" " data-fruit-code="**I WANT TO GET WHAT'S IN HERE 1**" class="note relative bg-background items-center select-none w-56 sm:w-64 pb-4" style="transform: rotate(6deg);"/>  
  <div data-v-f7g8b83d=" " data-fruit-code="**I WANT TO GET WHAT'S IN HERE 2**" class="note relative bg-background items-center select-none w-56 sm:w-64 pb-4" style="transform: rotate(6deg);"/>  
  <div data-v-f7g8b83d=" " data-fruit-code="**I WANT TO GET WHAT'S IN HERE 3**" class="note relative bg-background items-center select-none w-56 sm:w-64 pb-4" style="transform: rotate(6deg);"/>  
  <div data-v-f7g8b83d=" " data-fruit-code="**I WANT TO GET WHAT'S IN HERE 4**" class="note relative bg-background items-center select-none w-56 sm:w-64 pb-4" style="transform: rotate(6deg);"/> 
</div>

Я пытаюсь собрать бота, чтобы удалить указанный c сайт. Я хочу иметь возможность получить текст, связанный с «data-fruit-code».

Я придумал это:

//*[@id="app"]/div[2]/div

и это:

//*[@data-fruit-code]

Тем не менее, оба только подсвечивают весь div. Я чувствую, что здесь чего-то не хватает. Что я могу добавить или как я могу исправить мою существующую команду XPATH, чтобы она получала только текст «data-fruit-code»?

Я пытался добавить text () & word (), но они не работали для я тоже.

Вот некоторые из ссылок, которые я использовал, чтобы получить помощь в этом.

https://devhints.io/xpath#class -проверить

https://developer.mozilla.org/en-US/docs/Web/XPath

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

Обратите внимание, что data-fruit-code называется атрибутом и выбирается в XPath через @ перед его именем.

Существует множество способов выбора целевых атрибутов. Вот две интересные возможности:

  1. Этот XPath,

    //@data-fruit-code
    

    выберет все атрибуты data-fruit-code в документе.

  2. Этот XPath,

    //div[@id="app"]/div/@data-fruit-code
    

    выберет все атрибуты data-fruit-code для div элементов, у которых div родительских элементов и значение атрибута id app.

0 голосов
/ 17 апреля 2020

Попробуйте

//div[@data-fruit-code]/@data-fruit-code

Вывод

**I WANT TO GET WHAT'S IN HERE**
**I WANT TO GET WHAT'S IN HERE 1**
**I WANT TO GET WHAT'S IN HERE 2**
**I WANT TO GET WHAT'S IN HERE 3**
**I WANT TO GET WHAT'S IN HERE 4**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...