我需要通过文本颜色从网站获取特定的文本,在我的情况下,这种颜色是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