我正在从一个表中抓取一个网站以获取表中的数据,该表是通过AJAX加载的。该网站运行缓慢且不一致,因此有时我必须等待<5秒才能加载表格,而其他时候则需要等待25-30。我要遍历数百个筛选表格的项目,并在加载完毕后,我去下一个项目。
“显式等待/期望条件”的功能似乎不像我期望的那样,并想知道是否有人可以提供一些见识。
我已经尝试了许多解决该问题的方法,每次运行该异常似乎都不同。
第一个代码段是继续尝试直到找到元素。我要继续运行,直到页面完全加载并找到该元素。问题是,页面仍在加载并且尚未找到该元素,但是它仍引发异常。
for s in range(0,1000):
try:
#Other Month Value Clicked
wait.until(EC.visibility_of_element_located((By.XPATH, "/html/body/div[9]/div/div[2]/div[" + str(mths[x]) + "]")))
except NoSuchElementException:
print(".", end=".", flush=True)
time.sleep(1)
timePeriodVal.click()
time.sleep(1)
timePeriodVal.click()
continue
finally:
timePeriod = (driver.find_element_by_xpath("/html/body/div[9]/div/div[2]/div[" + str(mths[x]) + "]"))
timePeriod.click()
#print('\nTime Period clicked')
time.sleep(1.5)
break