python - Python Selenium 显式等待 + 预期条件不起作用
问题描述
我正在从通过 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
解决方案
推荐阅读
- react-native - 应用过滤器时正确的搜索语句
- python - 读取 CSV 时用 0 填充 NaN 不适用于 Dataframe
- c++ - 由于无效写入导致的分段错误
- python-3.x - 在 Python 中从文本文件中解析异构数据
- javascript - 反应没有反应
- java - android:如何在(33、66、99、elc)点击后更改计数器应用的文本颜色?
- list - 使用从 ansible find 模块返回的列表时遇到问题
- ruby-on-rails - 视觉工作室代码。终端。箭头在 Irb 和 Rails 控制台中不起作用
- c - fseek 和 fwrite 过去 EOF
- javascript - 三.js Shader修改TextGeometry