在VB.NET Webbrowser控件中检测Javascript html页面修改
我的VB.NET代码应该执行第三方Javascript代码,以尝试填写和提交表单。这个过程由五个步骤组成,当所有步骤保持分开时(即在5次单独的连续按钮点击之后),我能够提交表单。现在,我想要的是一个按钮来处理所有的五个步骤 问题是表单最初仅在调用“webbrowser.Navigate”命令后出现,该命令显然修改了页面的HTML代码。我似乎无法检测Javascript何时完成加载新HTML以填充和提交表单。我尝试了一个计时器控件来等待某个HTML元素ID出现,但没有成功 这个问题以前曾以不同的形式被问过,但至少我从前面的答案中找不到太多帮助:在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出现,但没有成功 这个问题以前曾以不同的形
请帮帮我。好吧,这是软件行业通常的工作方式:只有在你向他人解释了问题之后,你才能充分理解它,并自己解决它 问题是我没有使用System.Windows.Forms.Timer(),而是使用另一个(不太合适的)Timer类来跟踪HTML代码中的更改。这就是Application.DoEvents()无法工作的原因。使用System.Windows.Forms.Timer()我能够创建一个Timer.Tick事件,该事件跟踪表单提交的阶段(在我的示例中为1-5),并尝试在Try-Catch构造中执行所需的Javascript命令。如果捕获到异常,则改为执行Application.DoEvents(),并且计时器确保稍后再次尝试执行相同的命令 这似乎对我有用