Python Selenium按颜色获取文本



我需要通过文本颜色从网站获取特定的文本,在我的情况下,这种颜色是rgb(209196233(。

HTML中的文本元素:

<span style="color: rgb(209, 196, 233);">−14.64</span>

我的代码:

XYZ = driver.find_element(By.XPATH, "//span[@style='color: rgb(209,196,233);']").text

当我执行时,代码崩溃,出现以下错误:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//span[@style='color: rgb(209,196,233);']"}

我做错了什么(

我认为您的XPath是正确的。但正如错误所说:无法定位元素。您可以使用"等待";等待";直到找到元素为止。有关更多信息,您可以看到:https://selenium-python.readthedocs.io/waits.html

所以你可以这样做:

#import necessary parts
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
#..your code for webdriver
#wait
wait = WebDriverWait(driver, 10)
#After that get text from xpath
XYZ = wait.until(EC.presence_of_element_located((By.XPATH, 
"//span[@style='color: rgb(209, 196, 233);']"))).text

最新更新