1

我想对一些有一堆 setTimeout 代码的页面进行测试。一种选择是让我等到此代码运行,但理想情况下,我想在页面加载后强制代码运行。

我想到的一种方法是在评估页面之前将以下内容注入到页面中:

var originalSetTimeout = window.setTimeout;
window.setTimeout = function(a, t) {
    originalSetTimeout(a, 0);
}

我不确定如何做到这一点,或者是否有更好的方法我忽略了。

请注意,在我正在测试的页面上删除 setTimeout 代码不是一个选项。

4

1 回答 1

0

当你做一个

driver.get('http://mypage.com')

WebDriver 将等待页面加载完毕。一旦完成,你就可以做

driver.execute_script('var originalSetTimeout = window.setTimeout;
                      window.setTimeout = function(a, t) {
                         originalSetTimeout(a, 0);
                      }')

这可能会做你想要的,应该尽快运行。

于 2013-01-23T13:24:06.010 回答