【发布时间】:2021-10-21 21:39:57
【问题描述】:
如果这是 whatsapp 消息的 html(“???? 你怎么 ???? 你 ????”)那么如何遍历该消息的元素并按顺序获取它们(打印它们)他们是硒?
<span dir="ltr" class="i0jNr selectable-text copyable-text">
<span>
<img crossorigin="anonymous"
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="????"
draggable="false" class="b75 emoji wa i0jNr selectable-text copyable-text" data-plain-text="????"
style="background-position: -60px -40px;">
" how "
<img crossorigin="anonymous"
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="????"
draggable="false" class="b60 emoji wa i0jNr selectable-text copyable-text" data-plain-text="????"
style="background-position: -60px -40px;">
" are you"
<img crossorigin="anonymous"
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="????"
draggable="false" class="b25 emoji wa i0jNr selectable-text copyable-text" data-plain-text="????"
style="background-position: -40px -40px;">
</span>
</span>
输出应该是
????
how
????
are you
????
或者输出也可以是这样的
???? how ???? are you ????
我试过了
chats = driver.find_elements_by_class_name("message-in")
for i in range(0,len(chats)):
messages = chats[i].find_elements_by_class_name("i0jNr")
for j in range(0,len(messages)):
if messages[j].text == "" :
emojis = chats[i].find_elements_by_class_name("emoji")
for emoji in emojis:
print(emoji.get_attribute('alt'))
break
else:
print(messages[j].text)
这是给出的输出
how
are you
????
????
????
那么如何按原样获取 this 的元素呢?
【问题讨论】:
标签: javascript python selenium selenium-webdriver automation