selenium NoSuchElementException:Message:No That Element:Unable to Locate Element:尝试使用Selify从动态网站抓取数据时出错

nqwrtyyt  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(184)

我一直在编写以下代码,其中我试图从一个动态网站(不断变化的herokuapp网站,它显示从传感器获取的数据)中获取数据。
在寻找一些信息时,我尝试使用 selenium ,但我似乎并不适合我。代码的以下部分运行良好:

from selenium import webdriver 
from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')

driver = webdriver.Chrome('chromedriver', chrome_options=chrome_options)

driver.get("https://lambda-app-eia.herokuapp.com/")

现在错误出现在这里

element = driver.find_element(By.CLASS_NAME, "MuiTypography-root MuiTypography-h4 css-2voflx")

我没有使用这些类型库的经验,所以如果有任何帮助,我将不胜感激。
我正在使用Google CoLab btw

pvcm50d1

pvcm50d11#

您正在使用的类名MuiTypography-root MuiTypography-h4 css-2voflx中有多个空格,但在Selify中类名中不允许有空格,您可以将其转换为css选择器,如下所示:

element = driver.find_element(By.CSS_SELECTOR, ".MuiTypography-root.MuiTypography-h4.css-2voflx")

始终在开发工具中检入定位器是否唯一。
希望这能帮上忙。

相关问题