【问题标题】:Is Selenium2 WebDriver executeScript run after window.onload?Selenium2 webdriver executecript在window.onload后运行吗?
【发布时间】:2012-02-22 09:44:34
【问题描述】:

我可以假设如果使用 Selenium2 WebDriver executeScript 方法,我的脚本将在 window.onload 之后?

例如加载完所有 DOM 元素/图像之后?

【问题讨论】:

    标签: javascript testing selenium webdriver selenium-webdriver


    【解决方案1】:

    是的,您可以假设它会在浏览器中加载整个页面后执行

    【讨论】:

      【解决方案2】:

      不一定。如果您在调用get() 后使用executeScript() 方法,则答案是“也许”。 WebDriver 尝试阻止对get() 的调用,但可能有 JavaScript 代码在 onload 触发后仍会运行(考虑 onload 事件处理程序中的代码使用 setTimeout() 延迟执行的情况),这意味着 DOM仍有可能被操纵。如果您在单击导致导航的链接后使用executeScript(),则执行等待页面完全加载的可能性会更小,因为单击是异步的,并且无法保证 WebDriver 将能够等待要加载的页面。

      【讨论】:

      • 你知道如何在window.onload之前运行executeScript吗?我面临一个无法运行 executeScript 的问题,因为网页非常繁重,使用 ajax 与服务器通信,导致executeScript 不断等待和等待......
      猜你喜欢
      • 1970-01-01
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多