Flask 和 Python 的 Selenium TimeoutException

Selenium TimeoutException with Flask and Python

这就是我的代码的样子

@app.route("/Committ", methods=['GET', 'POST']) 
def Committ():
  ......
  if(......):
    #do sthg
    firefox_profile = webdriver.FirefoxProfile()
    firefox_profile.set_preference("browser.priavtebrowsing.autostart",True)
    driver = webdriver.Firefox(firefox_profile = firefox_profile)
    driver.get("https://www.instagram.com")
    assert "Instagram" in driver.title
    ......
    driver.close()

在 运行 上面的代码之后,通常在第 2 次或第 3 次出现以下错误:

我尝试添加一个尝试,除了避免这种情况发生,但它没有真正锻炼。

所以结果证明是一个小问题导致整个事情分崩离析,当flask导航到一个页面时就像调用一个函数一样,当它离开页面时一切都会消失。然而 selenium 总是进行内部更改,因此当我离开函数时我没有正确关闭驱动程序导致再次调用该函数时造成混乱!

这是我原来的:

...do sthg...
return redirect(url_for('home'))
driver.close()

一个简单的解决方法是

...do sthg...
driver.close()
return redirect(url_for('home'))