Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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
在VB.NET Webbrowser控件中检测Javascript html页面修改_Javascript_Vb.net_Dom Events - Fatal编程技术网

在VB.NET Webbrowser控件中检测Javascript html页面修改

在VB.NET Webbrowser控件中检测Javascript html页面修改,javascript,vb.net,dom-events,Javascript,Vb.net,Dom Events,我的VB.NET代码应该执行第三方Javascript代码,以尝试填写和提交表单。这个过程由五个步骤组成,当所有步骤保持分开时(即在5次单独的连续按钮点击之后),我能够提交表单。现在,我想要的是一个按钮来处理所有的五个步骤 问题是表单最初仅在调用“webbrowser.Navigate”命令后出现,该命令显然修改了页面的HTML代码。我似乎无法检测Javascript何时完成加载新HTML以填充和提交表单。我尝试了一个计时器控件来等待某个HTML元素ID出现,但没有成功 这个问题以前曾以不同的形

我的VB.NET代码应该执行第三方Javascript代码,以尝试填写和提交表单。这个过程由五个步骤组成,当所有步骤保持分开时(即在5次单独的连续按钮点击之后),我能够提交表单。现在,我想要的是一个按钮来处理所有的五个步骤

问题是表单最初仅在调用“webbrowser.Navigate”命令后出现,该命令显然修改了页面的HTML代码。我似乎无法检测Javascript何时完成加载新HTML以填充和提交表单。我尝试了一个计时器控件来等待某个HTML元素ID出现,但没有成功

这个问题以前曾以不同的形式被问过,但至少我从前面的答案中找不到太多帮助:


请帮帮我。

好吧,这是软件行业通常的工作方式:只有在你向他人解释了问题之后,你才能充分理解它,并自己解决它

问题是我没有使用System.Windows.Forms.Timer(),而是使用另一个(不太合适的)Timer类来跟踪HTML代码中的更改。这就是Application.DoEvents()无法工作的原因。使用System.Windows.Forms.Timer()我能够创建一个Timer.Tick事件,该事件跟踪表单提交的阶段(在我的示例中为1-5),并尝试在Try-Catch构造中执行所需的Javascript命令。如果捕获到异常,则改为执行Application.DoEvents(),并且计时器确保稍后再次尝试执行相同的命令

这似乎对我有用