Python,Selenium 查找带有类的元素并等待类更改

我有一个动态加载内容的网页,当页面加载时,有旋转轮,我已经找到了抓取页面上立即加载的内容的解决方案,但似乎我找不到抓取稍后加载到 dom 的内容的解决方案。


我能想到的是找到具有该轮子旋转的特定类的元素,并等待它更改,一旦更改,这意味着内容已加载到 dom 中。


我使用Selenium与Firefox webdriver上Ubuntu。


这是我要监控的课程:


<div class="wheel spinning"></div>

加载内容后,轮子停止旋转并且类更改为:


<div class="wheel"></div>

任何人都可以找到解决方案来查找和监控class="wheel spinning",一旦更改class="wheel"为继续抓取数据。


编辑:


XPATH实际上解决了一部分解决方案,这里是部分代码


try:

    element = WebDriverWait(driver, 10).until(

EC.presence_of_element_located((By.XPATH, "//*[@class='wheel']))

)

title = driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[3]')

print(title.text)

但是如果元素在 10 秒内没有出现,那就是错误了,现在想办法一次又一次地重试,直到元素出现在页面上。


使用presence_of_element_located((By.XPATH))和使用上有区别吗find_element_by_xpath


GCT1015
浏览 213回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python