我正在开发一个 django 项目,使用 django_facebook 进行 Facebook 交互,使用 Selenium 进行自动化系统测试。
在测试中,当涉及到从我的应用程序登录到 facebook 时,我会这样做:
self.browser.get(self.live_server_url)
self.browser.find_element_by_xpath('//*[@id="facebook_login_js"]/input').click()
self.browser.switch_to_window(self.browser.window_handles[1])
self.login_to_facebook()
但它失败了,因为 Facebook 的 JS SDK 还没有完成它的异步初始化过程。我的测试过去可以正常工作,不知道现在是否发生了变化(比如初始化速度较慢)。
我想到了一个像使用 fbAsyncInit 这样的解决方案,但是该代码是由 django_facebook 在 Javascript 文件中提供的,我不想碰它。
知道如何等到 Facebook JS SDK 完全加载,以便我可以使用登录功能吗?