如何等待表格加载到网页上

2024-06-14 02:48:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须从this站点读取数据。 在我们点击页面几秒钟后,表格加载

我使用PYTHON+SELENIUM代码从表中读取数据,默认延迟几秒(20秒),但这太糟糕了,因为数据是动态的,我希望优化到表一加载,我就应该能够读取和处理它

为此,我尝试使用以下代码等待时间元素(id-equity\u timeStamp)加载:

myElem = WebDriverWait(webdriverFire, 3).until(EC.presence_of_element_located((By.ID,'equity_timeStamp')))

但是,即使这个元素的存在也不能保证数据的存在(如上所述,只检查元素的存在,而不检查其中的文本)。我也想过使用EC.text_to_be_present_in_element((By.ID, 'equity_timeStamp')),但是文本不是一个常数

我知道我应该等待一些东西,但所有有用的东西都有动态文本


Tags: 代码文本id元素by站点动态页面
3条回答

您可以尝试visibility_of_element_located,因为presence_of_element_located不能保证元素的可见性

您还可以尝试使用implicit wait方法。当网页上的某些元素不能立即使用并且需要一些时间来加载时,这可能非常有用。您可以看到selenium文档。关于此处的等待https://www.selenium.dev/documentation/en/webdriver/waits/

要访问equity table,请使用visibility_of_element_located()和以下css选择器

WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.CSS_SELECTOR,"table#optionChainTable-indices"))) 

相关问题 更多 >