【问题标题】:How to wait for a java applet to load when automating Internet Explorer?自动化 Internet Explorer 时如何等待 Java 小程序加载?
【发布时间】:2015-08-03 01:49:28
【问题描述】:

我正在使用 mshtml 和 Internet Explorer 来自动化网站。该网站不公开。在一个页面上有一个 Java Applet,它包含在一个 APPLET html 标记中。

问题是,有时小程序需要很长时间才能加载,而没有加载它,网页上的其他控件会导致错误。我不需要自动化小程序,小程序与我想做的事情无关,除了会导致其他问题。

虽然您可能还想提出其他建议,但在此阶段,我想重点关注我的主要问题,即尝试在 HTML 中找到一些表明 Applet 已加载的属性或事件。

我试图检查的事情; HTML 文档有一个 Applets 属性,它返回 applet 集合。此集合包含小程序。 Applet 的 readystate 为 4,它的 object 属性也不是空的。

尽管进行了这些检查,小程序仍未加载。

【问题讨论】:

  • 也许这会有所帮助? docs.oracle.com/javase/7/docs/technotes/guides/jweb/applet/… 取决于它是否是 Java 7,但希望你的版本是。
  • 如果我想玩弄实际的小程序,这会有所帮助。这意味着注入/调用 javasricpt 函数。我希望有别的东西。
  • 啊,我明白了,因为您可以访问小程序,所以您也可以访问 dom 对象。我正在查看 mshtml 的文档,发现它确实有一个事件处理程序,您可以与之交互?
  • 我确实可以访问 Dom。我可以检查小程序的状态属性,也有一个 isActive 函数,但是访问小程序会导致其他我不想要的安全警告消息。

标签: java c# html vb.net internet-explorer


【解决方案1】:

任何人来到这里,我很抱歉,但这个问题的答案是我在 DOM(html 页面)中找不到任何指示小程序是否已加载的内容。但是,我相信这实际上取决于您正在查看的页面。我认为由于安全问题,您无法访问 Applet 本身的 isActive 功能。最好的希望是页面上可能还有一些其他的 html 或 javascript 也在等待小程序,然后你就可以等待了。

【讨论】:

    猜你喜欢
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多