我想在 Python 中使用 Selenium 打开多个 Firefox 实例并并行运行它们。更新到 Firefox 47.0 后,我们现在似乎have to use the Marionette WebDriver适用于 Firefox+Selenium。在使用 Marionette 之前,我可以通过多次调用 webdriver.Firefox()
轻松地从 Python/Selenium 中创建新的 Firefox 实例。不过,在切换到 Marionette 之后,只有第一个实例有效。如果打开第二个实例,我会收到以下错误:
WebDriverException: Message: Failed to decode response from marionette
发出错误后,该实例死亡,而最近调用的实例继续存在。环顾四周,问题似乎出在 Marionette 使用的端口上,新实例不断尝试访问与原始实例相同的端口。我看到有一种方法可以改变 going through prefs.js and creating separate profiles 使用的端口.但是,我想知道是否有一种方法可以完全在 Python 中完成(类似于 Java example )。
如有任何帮助,我们将不胜感激!
最佳答案
这里报告了类似的问题: https://github.com/mozilla/geckodriver/issues/1453
基本上,您需要使用调试 firefox 构建 + 跟踪木偶日志记录来运行以获取更多详细信息。或者,也许您正在打同样的球。
关于python - 在 Python 中使用 Marionette/Selenium 的多个 Firefox 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37847770/