如何从 div 获取出现在页面上的文本?

How do I get text that appear on page from div?

页面源代码如下:

    <div class="caption">
                        <div id="question_speaker" style="display: none;"><img 
    src="../server/static/loudspeaker.png"></div>
                        <div class="translations">explain</div>
                        <div>&nbsp;</div>
                    </div>

我正在尝试对 python 中的文本变量进行“解释”。

CSS:

div.caption div#question_speaker+div

XPATH:

//div[@class='caption']//div[@id='question_speaker']//following-sibling::div

在使用它们之前确保它们在 HTML-DOM

中是唯一的

检查步骤:

Press F12 in Chrome -> 转到 element 部分 -> 执行 CTRL + F -> 然后粘贴 xpath/css 并查看是否需要 element正在 突出显示 1/1 匹配节点。

代码:

print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='caption']//div[@id='question_speaker']//following-sibling::div"))).text)

您需要以下导入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC