Как получить текст img alt внутри тега <a> - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть URL со следующей html-частью

 <div class="shop cf">
 <a class="shop-logo js-shop-logo" href="/m/3870/GMobile">
 <noscript>

<img alt="GMobile" class="js-lazy" data-src="//a.scdn.gr/ds/shops/logos/3870/mid_20160920155600_71ff515d.jpeg" src="//a.scdn.gr/ds/shops/logos/3870/mid_20160920155600_71ff515d.jpeg" /> 
 </noscript>

<img alt="GMobile" class="js-lazy" data-src="//a.scdn.gr/ds/shops/logos/3870/mid_20160920155600_71ff515d.jpeg" src="//c.scdn.gr/assets/transparent-325472601571f31e1bf00674c368d335.gif" />

</a>
</div>

Я хочу получить первое изображение в магазине div классов cf, и я получаю

  Set seller = Doc.querySelectorAll("img")      
  wks.Cells(i, "D").Value = seller.getAttribute("alt").Content(0)

Я ничего не получаючто я забыл включить?!?

Можно ли получить его из тега

<noscript>

?

Я также попробовал следующее

  Set seller = Doc.getElementsByClassName("js-lazy")

  wks.Cells(i, "D").Value = seller.getAttribute("alt")

спасибо

1 Ответ

0 голосов
/ 17 декабря 2018

Использовать элемент с селектором атрибута

CSS:

img[alt]

VBA:

ie.document.querySelector("img[alt]")

Возможно, вам потребуется добавить

ie.document.querySelector("img[alt]").getAttribute("alt")

Чтобы включить класс, используйте

ie.document.querySelector("img.js-lazy[alt]")

Если более одного элемента, тогда используйте querySelectorAll и индексируйте в возвращаемый список узлов, например,

Set list = ie.document.querySelectorAll("img.js-lazy[alt]")
list.item(0).getAttribute('alt')
list.item(1).getAttribute('alt')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...