【问题标题】:Google Chrome throttling with Selenium谷歌浏览器使用 Selenium 进行节流
【发布时间】:2017-04-02 16:50:39
【问题描述】:

一年前有一个与此类似的问题(使用 chrome 和 selenium 进行网络节流),但该问题的答案似乎不再有效,因为过去几个月已经出现了错误和修复。 https://bugs.chromium.org/p/chromedriver/issues/detail?id=984

我正在尝试使用用 Java 实现的 selenium 在谷歌浏览器中实现网络节流,但几乎没有成功。我正在使用最新的 chrome 驱动程序和独立服务器 3.0.1。

非常感谢任何和所有帮助!

【问题讨论】:

    标签: java performance google-chrome selenium bandwidth-throttling


    【解决方案1】:

    请参阅链接问题中的my answer。不幸的是,Java 绑定目前不可用,但有 issue 要求添加它们,您可以投票。

    JavaScriptPython 的现有绑定来看,贡献实现也应该非常简单。

    【讨论】:

      【解决方案2】:

      您可以使用 proxyServer 代替 chrome 网络节流。

      ProxyServer proxy = new ProxyServer(4444);
      proxy.setReadBandwidthLimit(125000); // 125 000 (1Mbps)
      proxy.setWriteBandwidthLimit(125000);
      

      【讨论】:

      • 我尝试使用“ProxyServer”并没有自动检测到导入,所以我也用谷歌搜索了它,但一无所获。那么“ProxyServer”是从哪里导入的呢?或者有没有需要导入的库才能使用?
      • 您可以使用:<dependency> <groupId>net.lightbody.bmp</groupId> <artifactId>browsermob-core</artifactId> <version>2.1.0-beta-3</version> <scope>test</scope> </dependency>
      • 最后一条评论可能会让没有经验的用户感到困惑,所以澄清一下,@cyildirim 是说使用 browsermob 代理作为限制带宽的一种迂回方式。它也有很多依赖项,因此尝试不使用 maven 来实现它是非常困难的。我更喜欢使用直接调整网络节流的方法,因为我发现这种方法更可靠。我也已经在与其他一些代理进行交互,因此添加另一个代理可能会使事情变得更加复杂。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-01
      • 1970-01-01
      • 2011-03-12
      • 2012-11-08
      • 2018-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多