Код: Выделить всё
parent = driver.find_element(By.XPATH, "//*") # main post element
child = parent.find_elements(By.XPATH, ".//*") # child containing texts/emojis/links/images
for i in child:
if i.text is not None:
post.append(i.get_attribute('textContent'))
if i.get_attribute('alt') is not None:
post.append(i.get_attribute('alt'))
text = ''.join(post)
print(text)
Все содержимое сообщения может быть получено. можно получить с помощью get_attribute, поскольку каждый текст и смайлик находятся внутри дочернего элемента. Однако я столкнулся со структурой, в которой есть только один дочерний элемент(
Код: Выделить всё
Код: Выделить всё
#link1
"A "
"B "
"C "
#link2
"D "
"E"
Ожидаемый результат:
Код: Выделить всё
#link1 A :) B C #link2 D :( EКод: Выделить всё
parent = driver.find_element(By.XPATH, "//*") # main post element
child = parent.find_elements(By.XPATH, ".//*[contains(@class, 'html-span')]//*") # child containing texts/emojis/links/images
for i in child:
print(i.get_attribute('textContent'))
if i.text is not None:
post.append(i.get_attribute('textContent'))
if i.get_attribute('alt') is not None:
post.append(i.get_attribute('alt'))
print(post)
text = ''.join(post)
print(text)
[#link, '',
Код: Выделить всё
parent = driver.find_element(By.XPATH, //span[@class='post']")
print(parent.get_attribute('textContent'))
Код: Выделить всё
#link1 A B C #link2 D EЯ пытаюсь сгруппировать каждый класс абзацев и составить из них предложения. Но иметь возможность получить и атрибут, и текст всего сообщения по порядку вполне достаточно.
Любая идея о том, как действовать, будет очень признательна.
Подробнее здесь: https://stackoverflow.com/questions/788 ... ingle-elem