<p>文本为<code>Нема слободни термини во наредните 3 месеци.</code>的元素位于父<code><div></code>元素中,其<code>style</code>属性设置为<strong><code>display: none;</code></strong></p>
<p>因此,由于元素在网页上不可见,<a href="https://stackoverflow.com/questions/54459701/what-is-selenium-and-what-is-webdriver/54482491#54482491">Selenium</a>将无法以通用方式与<a href="https://stackoverflow.com/questions/52782684/what-is-the-difference-between-webdriver-and-webelement-in-selenium/52805139#52805139">WebElement</a>交互</p>
<p>但是,有几种方法可以提取文本,如下所示:</p>
<ul>
<li><p>使用<code>CSS_SELECTOR</code>:</p>
<pre><code>print(WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, "div#cdk-describedby-message-0"))).get_attribute("innerHTML"))
</code></pre>
</li>
<li><p>使用<code>XPATH</code>:</p>
<pre><code>print(WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//div[@id='cdk-describedby-message-0']"))).get_attribute("innerHTML"))
</code></pre>
</li>
<li><p>使用<code>document.getElementById</code>和<em>文本内容</em>:</p>
<pre><code>print(driver.execute_script("return document.getElementById('cdk-describedby-message-0').textContent;"))
</code></pre>
</li>
<li><p>控制台输出:</p>
<pre><code>Нема слободни термини во наредните 3 месеци.
</code></pre>
</li>
<li><p><strong>注意</strong>:您必须添加以下导入:</p>
<pre><code>from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
</code></pre>
</li>
</ul>