Не получается получить текст



  • Пытаюсь получить весь текст ссылки
    0_1546855485563_152a1291-6654-41b8-8694-03ed0052fde2-image.png
    Но по такому xpath:

    //a[@class='navigateLink']
    

    сохраняет только:

    "linklabonni.com"
    

    А по такому:

    //a[@class='navigateLink']/@href
    

    сохраняет пустое значение. Как исправить?
    Вот весь элемент:
    0_1546856865565_c1e34ba6-61c9-4196-aaa3-0179e87328fe-image.png



  • @senerg В следующий раз выкладывайте html код текстом, перепечатывать со скриншота ни кому не хочется.

    //a[@class='navigatelink']/@href
    


  • @fox said in Не получается получить текст:

    //a[@class='navigatelink']/@href

    Не понял вас. Этот вариант не находит элемент: navigatelink в коде нет, ксть только navigateLink.
    Вот код:

    <a class="navigateLink" href="https://labonni.com/collections/mens-watch/products/ultra-thin-luxury-blue-stainless-steel-quartz-date-watch" rel="nofollow"><div class="_39 _50 _5b _6d _6e _h _z7 _4q _j" style="border-radius: 4px;"><div class="_5k _h _z7 _4q _j"><svg class="_u0 _3c _u1 _45" height="14" width="14" viewBox="0 0 24 24" aria-label="link" role="img"><title>link</title><path d="M4.9283,1 C3.6273,1 2.5713,2.054 2.5713,3.357 C2.5713,4.66 3.6273,5.714 4.9283,5.714 L14.9523,5.714 L1.6893,18.976 C0.7703,19.896 0.7703,21.389 1.6893,22.31 C2.1503,22.771 2.7533,23 3.3573,23 C3.9603,23 4.5633,22.771 5.0243,22.31 L18.2853,9.047 L18.2853,19.071 C18.2853,20.374 19.3413,21.429 20.6433,21.429 C21.9443,21.429 23.0003,20.374 23.0003,19.071 L23.0003,1 L4.9283,1 Z"></path></svg></div><div class="_49 _5j _68 _h _z7 _4q" style="height: 18px;"><div class="_w7 _0 _1 _2 _w9 _3c _d _b _6 _c" title="labonni.com">labonni.com</div></div></div></a>
    


  • @senerg магия...

    0_1546858348478_2019-01-07_135217.png



  • @senerg said in Не получается получить текст:

    @fox said in Не получается получить текст:

    //a[@class='navigatelink']/@href

    Не понял вас. Этот вариант не находит элемент: navigatelink в коде нет, ксть только navigateLink.
    Вот код:

    <a class="navigateLink" href="https://labonni.com/collections/mens-watch/products/ultra-thin-luxury-blue-stainless-steel-quartz-date-watch" rel="nofollow"><div class="_39 _50 _5b _6d _6e _h _z7 _4q _j" style="border-radius: 4px;"><div class="_5k _h _z7 _4q _j"><svg class="_u0 _3c _u1 _45" height="14" width="14" viewBox="0 0 24 24" aria-label="link" role="img"><title>link</title><path d="M4.9283,1 C3.6273,1 2.5713,2.054 2.5713,3.357 C2.5713,4.66 3.6273,5.714 4.9283,5.714 L14.9523,5.714 L1.6893,18.976 C0.7703,19.896 0.7703,21.389 1.6893,22.31 C2.1503,22.771 2.7533,23 3.3573,23 C3.9603,23 4.5633,22.771 5.0243,22.31 L18.2853,9.047 L18.2853,19.071 C18.2853,20.374 19.3413,21.429 20.6433,21.429 C21.9443,21.429 23.0003,20.374 23.0003,19.071 L23.0003,1 L4.9283,1 Z"></path></svg></div><div class="_49 _5j _68 _h _z7 _4q" style="height: 18px;"><div class="_w7 _0 _1 _2 _w9 _3c _d _b _6 _c" title="labonni.com">labonni.com</div></div></div></a>
    

    По этому html коду у меня всё правильно находит:
    0_1546858327801_478a997c-8abc-40cd-aae3-263a2c25ece8-изображение.png

    Вот тестовый скрипт



  • @fox , @uraabk Вот это номер! А в браузере таже штука не работает:
    0_1546859283351_b589ed82-57c1-4906-804d-852f5cf689a3-image.png



  • @senerg Код страницы не всегда соответствует коду который Вы видите в консоли, тк его могу менять js скрипты



  • @usertrue said in Не получается получить текст:

    Код страницы не всегда соответствует коду который Вы видите в консоли, тк его могу менять js скрипты

    Согласен. Но сам код, который я выложил выше, я скопировал из встроенного в бас браузера "Изучить на странице".



  • @senerg надо копировать из переменной "Код страницы".



  • @uraabk said in Не получается получить текст:

    надо копировать из переменной "Код страницы".

    Я говорю лишь о том, что в консоли браузера код этого элемента был также как и в сохраненном коде из "Код страницы". Но браузерное действие получить текст почему-то не сработало.



  • Почему все таки из браузера не работает, так и должно быть?



  • @senerg said in Не получается получить текст:

    Почему все таки из браузера не работает, так и должно быть?

    Потому что алгоритм действий разный. Данное Xpath выражение

    //a[@class='navigateLink']/@href
    

    возвращает конкретный класс /@href. Действие "xpath получить текст" отличается от "xpath получить xml" только добавлением к выражению xpath функцию text() по этому для этого выражения без разницы какое действие использовать.
    А действие "получить текст" получает именно текст со страницы по селектору. Данный селектор ведёт к ссылке, но текста в ней нет, по этому и возвращать нечего.


Log in to reply