Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在VBA Selenium中正确使用ExecuteASyncScript?_Javascript_Excel_Vba_Selenium_Asynchronous - Fatal编程技术网

Javascript 如何在VBA Selenium中正确使用ExecuteASyncScript?

Javascript 如何在VBA Selenium中正确使用ExecuteASyncScript?,javascript,excel,vba,selenium,asynchronous,Javascript,Excel,Vba,Selenium,Asynchronous,我有下面一段JavaScript脚本。我正在使用VBA for Excel(含Selenium),我想要的是在VBA中的宏转到下一行之前,等待网站中的服务器响应。为此,我使用MyVbaVar=ChromeDriver.ExecuteAsyncScript(脚本),其中“脚本”是下面的代码 根据我所读的内容,我必须在脚本中的某个地方指示回调,以便Selenium知道何时停止执行脚本。然而,我不知道该怎么做。我尝试了很多方法,但都没有成功,到处都在搜索,但针对这类问题的所有解决方案都在关于Selen

我有下面一段JavaScript脚本。我正在使用VBA for Excel(含Selenium),我想要的是在VBA中的宏转到下一行之前,等待网站中的服务器响应。为此,我使用MyVbaVar=ChromeDriver.ExecuteAsyncScript(脚本),其中“脚本”是下面的代码

根据我所读的内容,我必须在脚本中的某个地方指示回调,以便Selenium知道何时停止执行脚本。然而,我不知道该怎么做。我尝试了很多方法,但都没有成功,到处都在搜索,但针对这类问题的所有解决方案都在关于Selenium for Python或JavaScript的帖子中

这里的任何帮助(即使只是通过一个简单的例子指出如何正确使用ExecuteAsyncScript)都将不胜感激

PS:我已经用ExecuteScript尝试了这段代码,但是宏会转到下一行,而不会像预期的那样等待网站的响应

   * some variable declarations here

   functionThatAwaitsResponseFromServer(){
      if(response){
         response_var = response;
      }else{
         setTimeOut(functionThatAwaitsResponseFromServer, 1000); //run function again if no response
      };
      return response;
   };

   functionThatRequestsSomethingToTheServer(){
      requestFromServer();
      myFinalResult = functionThatAwaitsResponseFromServer();
      return myFinalResult
   };

   return functionThatRequestsSomethingToTheServer();

@florentbr示例:@florentbr感谢您的链接。不幸的是,我仍然在某些方面迷失了方向。让Selenium知道在哪里停止执行脚本的“标志”是什么?简单地编写callback(variableiwanterneturned)是有效的,因为“callback”是那个标志?否。在我共享的示例中,它是满足任一退出条件的地方,然后使用callback(target);返回@florentbr示例:@florentbr感谢您的链接。不幸的是,我仍然在某些方面迷失了方向。让Selenium知道在哪里停止执行脚本的“标志”是什么?简单地编写callback(variableiwanterneturned)是有效的,因为“callback”是那个标志?否。在我共享的示例中,它是满足任一退出条件的地方,然后使用callback(target);返回;