为什么Selenium测试这么慢?

时间:2011-09-12 17:24:43

标签: ruby selenium css-selectors selenium-webdriver

我正在编写一个下载(合法)一堆图像的刮刀,我遇到了一个问题。在相关页面上,在页面加载完成后,通过css查找元素只需要太长时间。因此,举例来说,我认为脚本在这里挂了10分钟:

@@wait.until do
        find_element_by_css(css_selector)
    end
    @@driver.find_element(:css => css_selector).text

def find_element_by_css(css_string)
    @@wait.until do
        @@driver.find_element(:css => css_string)
    end
end

css_selector = "table:nth-child(6) tr:nth-child(2) .view-value"或类似的地方。现在,这件事情会在没有做任何事情的情况下持续10-20分钟。如果我删除对wait的调用,脚本将抛出超时异常。

有关如何解决此问题的任何想法?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

我认为问题是有缺陷的硒。我切换到nokogiri,问题消失了。此外,我的应用程序设计存在一些错误/不一致。

答案 1 :(得分:2)

Selenium有一个使用css在IE中定位元素的bug。如果您切换到使用其他浏览器(例如Firefox),您应该会看到性能的巨大提升。