Извлечь значение из DOM - PullRequest
0 голосов
/ 29 мая 2019

Q1) Как мне получить «1» в XML / HTML с помощью класса FindElement / By?

<h3 class="lemon--h3__373c0__sQmiG heading--h3__373c0__1n4Of alternate__373c0__1uacp">1<!-- -->.&nbsp;<a class="lemon--a__373c0__IEZFH link__373c0__29943 link-color--blue-dark__373c0__1mhJo link-size--inherit__373c0__2JXk5" href="/biz/teds-montana-grill-larimer-square-denver?osq=Teds+Montana+Grill" target="" name="Ted’s Montana Grill - Larimer Square" rel="">Ted’s Montana Grill - Larimer Square</a></h3>

Q2) Как я могу получить Ted's Montana Grill и Aurora из xmlниже?Мне удалось получить Ted’s Montana Grill.Тем не менее, Аврора оказывается проблемой.

Вот URL - https://www.yelp.com/biz/teds-montana-grill-aurora-aurora?osq=Teds+Montana+Grill

<h1 class="biz-page-title embossed-text-white">Ted’s Montana Grill -</h1>
<div class="u-inline-block">
            <h1 class="biz-page-title embossed-text-white">Aurora</h1>
            <div class="u-inline-block">

Попытка с FindElement / По

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

2) Они оба имеют один и тот же класс, поэтому вы можете просто перебрать все узлы, возвращенные getElementsByClassName.Все, что вам нужно сделать, это получить доступ к свойству textContent.

const titles = document.getElementsByClassName("biz-page-title");
Array.prototype.forEach.call(titles, function(el) {
    console.log(el.textContent);
})

1) То же самое для вашего первого вопроса: const value = document.getElementsByClassName("lemon--h3__373c0__sQmiG heading--h3__373c0__1n4Of alternate__373c0__1uacp")[0].textContent;

0 голосов
/ 29 мая 2019

1:

document.getElementsByClassName("lemon--h3__373c0__sQmiG heading--h3__373c0__1n4Of alternate__373c0__1uacp");

2:

let items = document.getElementsByClassName("biz-page-title embossed-text-white");
for (let i = 0; i < items.length; i++) {
    console.log(items[i].outerText);
}
...