python - 在 Python 中使用 Marionette/Selenium 的多个 Firefox 实例

标签 python selenium firefox selenium-webdriver firefox-marionette

我想在 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/

相关文章:

css - A.类 :LINK only works for 1st element in Firefox

javascript - jQuery 使用 css() 改变 DIV 背景

reactjs - 如何使用剧作家或柏树选择 Ant 设计选择选项

javascript - 如何将驱动程序控制从顶部窗口切换到 iframe#mainFrame

c# - 使用selenium时可以更改数据库吗?

python - gearman - 不断出现类型错误

html - Firefox 无法识别我的样式表

python - 从 Apache Spark 中的模式获取数据类型列表

javascript - 在没有ffmpeg的python中将ogg音频转换为wav

python - 如何将整个Python应用程序添加到azure databricks中并运行它?