【问题标题】:Chromedriver works with page for too longChromedriver 与页面一起工作的时间过长
【发布时间】:2015-10-07 14:07:59
【问题描述】:

我需要使用 selenium 和 Chromedriver 处理一个非常大的页面(确实有很多元素)。在导航发生并且页面加载测试被挂起超过 2 小时后。 Chrome 在此过程中消耗 100% CPU。我怀疑它会解析加载的页面。

有没有办法避免或以某种方式处理它? (我知道页面不应该那么大,但这是另一回事)

提前感谢您的帮助。

【问题讨论】:

  • 页面加载,测试用例挂起?测试实际上对页面做了什么?能发下相关的测试代码吗?
  • 测试卡在哪一行代码上?您可以提供代码 sn-p 或页面链接作为答案吗?另外,一个可能相关的问题:Chromedriver extremely slow
  • 这就是它什么都不做的关键。它单击 web 元素(链接),并且导航发生在具有大量元素的页面上。就这样。我在不同的测试环境中尝试了相同的方法,其中页面具有正常数量的元素并且效果很好。
  • 是chrome相关的问题吗?您的案例在 Firefox 中的运行速度有多快?
  • 我们没有使用FF,虽然我在IE9中试过,它也挂在这个页面上。我看了一下IE驱动日志,有很多这样的记录:T 2015-10-07 06:18:51:703 IECommandExecutor.cpp(189) Entering IECommandExecutor::OnGetResponseLength

标签: python selenium selenium-chromedriver


【解决方案1】:

使用 HTMLUNIT 或任何无头自动化工具.. 但这也有一些限制。

你可以参考:- https://skillsmatter.com/skillscasts/5067-what-is-headless-automation-why-tools-benefits

http://www.toolsqa.com/selenium-webdriver/headless-browser-testing-selenium-webdriver/

希望对你有帮助:)

【讨论】:

  • 如果相关测试需要使用 chromedriver 和 selenium 怎么办?
【解决方案2】:

所有,感谢您的帮助。我找到了根本原因。实际上问题在于find_elements 的非最佳使用。 即使它被调用一次,它也会执行很长时间。替换为使用find_element 的解决方法,它开始工作。解决方法很脆弱,但总比没有好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多