Обновление: Я закончил и изменил этот скрипт, используя node.js, чтобы сообщить пользователю, кто отписался от него в Instagram. Пожалуйста, найдите его здесь https://github.com/Barani1010/scrapeIG. Спасибо сообществу за столько знаний!
Element.text возвращает текстовое содержимое элемента.
В другом потоке в SO сценарий python собирает данные из фолловера фолловеров в учетной записи Instagram. Следующая часть возвращает текст внутри списков и сохраняет их в массиве.
xpath = "//div[@style='position: relative; z-index: 1;']//ul/li/div/div/div/div/a"
followers_elems = driver.find_elements_by_xpath(xpath)
return [e.text for e in followers_elems]
Я пытаюсь добиться аналогичного результата в JavaScript (я использую WebDriverJS):
const XPATH = "/html/body/div[3]/div/div[2]/div/div[2]/ul/div/li";
var followers_elems = await driver.findElements(By.xpath(XPATH));
var followers_temp = [];
for (var e in followers_elems) {
followers_temp.push(e.textContent); }
console.log(followers_temp);
Я не уверен, является ли textContent правильным свойством для .text.
Я пробовал миллион различных альтернатив, но все, что я получаю, это неопределенные значения в массиве:
![enter image description here](https://i.stack.imgur.com/wdWSl.png)
Я пока не очень хорошо разбираюсь в JS, но я уверен, что e
читает с followers_elems
, и если я просто нажму e
внутри массива, он может просто записать общее число подписчиков. Это получение текстового значения из xpath, которое я не понимаю. Python делает это так элегантно, но, несмотря на многословность, JavaScript подводит меня.
Спасибо.