Python 如果我有一个随机生成的文本,我如何才能WebDriverWait和getText()

Python 如果我有一个随机生成的文本,我如何才能WebDriverWait和getText(),python,python-3.x,selenium,selenium-webdriver,selenium-chromedriver,Python,Python 3.x,Selenium,Selenium Webdriver,Selenium Chromedriver,我有这个HTML,我只想得到DE-3500-0086-E-001部分。此文本值将始终不同 <div class="col-lg-2"> <label>Resultado</label> <h4> <a id="body_lblResultadoNumero"href="javascript: __doPostBack('ctl00$body$lblResultadoNumero','')">DE-3500-0

我有这个HTML,我只想得到DE-3500-0086-E-001部分。此文本值将始终不同

<div class="col-lg-2">
  <label>Resultado</label>
  <h4>
     <a id="body_lblResultadoNumero"href="javascript:
     __doPostBack('ctl00$body$lblResultadoNumero','')">DE-3500-0086-E-001</a>
  </h4>
</div>

在此之前,我必须等待该值出现,因为它在单击按钮后出现。所以我必须等待一些我不知道的内容,这是随机的。我可以等待任何值吗

检查以下解决方案:

使用XPATH:

使用ID:


检查以下解决方案::

使用XPATH:

使用ID:

您可以使用显式等待来确保显示链接

需要进口

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
下面应该是你的代码

WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH, "//a[@id ='body_lblResultadoNumero']"))).text
您可以使用显式等待来确保显示链接

需要进口

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
下面应该是你的代码

WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH, "//a[@id ='body_lblResultadoNumero']"))).text

要确保文本可用,请将xpath与以下逻辑组合使用:和text!=


要确保文本可用,请将xpath与以下逻辑组合使用:和text!=

element = WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH, "//a[@id='body_lblResultadoNumero' and text() !='']")))
print(element.text)