我是Django的新手,我正在创建一个Web应用程序,该应用程序具有一个表单,该表单将用户输入的内容从表单发送到其他一些在线工具,然后提交数据,然后抓取结果并在表单中显示输出我的网络应用程序中的表格的外观,例如:https://i.imgur.com/AVj3cJJ.png
由于工具带有javascript对象,我最终在PhantomJS中使用了硒,在此之前,我一直使用Mechanicalsoup,但效果很好,但是当我接触到javascript元素时卡住了,因此切换到了硒。
我遇到了一个问题,目前我通过自己创建的函数运行刮板,并在我的视图中像这样调用它:
if form.is_valid():
crisporDF = crispor(form.cleaned_data['dnaSeq'], form.cleaned_data['species'])
此函数获取用户数据并将其输入到刮板中,然后生成表,如上面的屏幕截图所示,一切正常,但是我需要5个工具才能刮刮并生成5个表,所以我ve为另一个工具创建了另一个类似的函数,这是我得到的结果:https://i.imgur.com/qDXVR7s.png
正如您看到的那样,第二张表中的结果很好,但是使用来自用户的相同输入数据,第一张表不能产生正确的结果。
我觉得呢?这是因为我正在每个函数中创建一个新的WebDriver,并且我知道Django是一个同步框架,但是我也知道有一些方法可以异步运行函数。我不知道为什么它不再为第一个站点产生正确的结果。但是,如果我的逻辑正确,那一定是因为可以一次调用一个Webdriver实例吗?我曾尝试创建一个WebDriver,但似乎不起作用。
因此我要问
感谢您的帮助!如果您需要更多信息,请询问!