Python Selenium显式等待+预期条件不起作用

时间:2018-10-22 21:00:20

标签: python selenium wait explicit

我正在从一个表中抓取一个网站以获取表中的数据,该表是通过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

0 个答案:

没有答案