0

在 webbrowser 中控制一个预订网站。当我搜索 A 到 B 时,它会给出带有价格的项目列表。(价格是一个单选按钮)当我单击单选按钮时。在某些处理之后创建的新 div 一个名为“submitButton0”的提交按钮出现在网页上。在同一个网页上。网站位置没有改变。我想调用 submitButton0 的点击。

问题是这样的。webBrowser1_DocumentCompleted 事件已完成。但那个时候 submitButton0 不在页面中。务实的 readio 按钮已被点击。经过一些处理之后,submitButton0 出现在页面上。随着 submitButton0 的到来,我想快速调用它的点击。

它的解决方案是什么?

4

1 回答 1

0

但是那个时候 submitButton0 不在页面中

这可能意味着按钮是由 Javascript 添加的。没有办法与脚本执行同步,你需要轮询。在 DocumentCompleted 事件处理程序和 Tick 事件中启用一个计时器,检查 DOM 是否已更改到足以允许可靠地调用 InvokeClick()。

请检查网站所有者是否提供了 Web 服务。稍后添加按钮的事实是该站点的 TOU 不允许自动化的相当强烈的暗示。服务使您的应用程序对网页更改更具弹性。DOM 轮询技巧几乎可以保证迟早会中断。

于 2013-04-12T10:12:02.100 回答