1

我正在使用多线程的一台机器上通过(chromedriver)运行多个谷歌浏览器实例。当我将实例数增加到 12+(取决于机器容量)时,我开始看到以下问题

  • 元素在页面上可见,但即使等待足够长的时间,等待命令也会随机失败。它说该元素不存在于页面上。如果我减少浏览器数量,相同的代码总是有效(我还检查了服务器性能问题,没有)
  • 在元素上执行单击但未触发操作。(我们可以在截图中看到元素颜色发生了变化)。在另一个论坛上,有人说js事件绑定到元素没有完成。

我有两个问题:

  • 是不是在机器上通过chromedriver推荐大量谷歌浏览器实例?
  • 以上问题有没有可能的解决方案

谢谢维奈

4

1 回答 1

0
  1. 首先调整窗口大小。
  2. 如果您使用的是无头浏览器,那么您应该为您的浏览器指定一个特定的大小。
  3. 尝试制作自己的 xpath 并尝试使用 xpaths 而不是 css 选择器。它可能会防止无法单击或拦截。
  4. 以适当的穿线方式调整一切。
  5. 如果 CPU 和 RAM 以及一切正常,请尝试查看线程池。

关于你的第一个问题:- 是的,你绝对可以在 Windows 机器上使用多个实例。它有能力。但是您必须使用单个实例来照顾端口。或者您可以手动使用调试器地址并设置端口,如 9992

希望这些答案对您有帮助。

于 2021-09-28T16:33:57.923 回答