问题标签 [firefox-marionette]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
91 浏览

python - 无法在 geckodriver 中更新 firefox prefrenecs

我正在使用 geckodriver 启动 firefox 51 版,并使用以下代码设置首选项,但是当我看到 in action:config in firefox 时。首选项未更新

这个也试过

0 投票
1 回答
309 浏览

selenium - Selenium 3.0 壁虎驱动和木偶驱动

GeckoDriver 和 Marionette 驱动程序是如何相互关联的,它们是如何工作的?

0 投票
1 回答
4913 浏览

firefox - 壁虎司机和木偶的区别

我不完全理解geckodrivermarionette之间的区别。

  • 任何人都可以澄清它们之间的区别吗?

例如,当我使用 Selenium WebDriver 控制 Firefox 浏览器时,我需要一个 geckodriver 二进制文件来监听来自 Selenium的WebDriver 协议。

  • Marionette 是真正驱动 Firefox 的 Firefox 扩展吗?
0 投票
1 回答
385 浏览

python-2.7 - 如何绕过机器人中的木偶问题?

我被要求评估 Robotframework 并对我所看到的大部分内容感到满意。然而,为了让它对我来说是一个可行的选择,我需要它在 Firefox 中工作。

Marionette 功能在我的 Ruby/Capybara 环境中是个问题,我能够将其关闭。

在 Robot / Python 2.7 / ff44.0 中获得相同的东西会在任一方向产生错误。

当木偶开启时:

我明白了:

我们的产品摇滚| 失败 | WebDriverException:消息:不支持的 Marionette 协议版本 2,需要 3

如果我把它关掉,壁虎会把我撞到 ff51.0.1(32 位),我会收到一条不同的消息:

我们的产品摇滚| 失败 | WebDriverException:消息:无法加载配置文件。可能的 Firefox 版本不匹配。对于 Firefox 48+,您必须使用 GeckoDriver。配置文件目录:c:\users\blah\appdata\local\temp\tmpqzlxha\webdriver-
py-profilecopy 如果您在 FirefoxBinary 构造函数中指定了 log_file,请检查它以获取详细信息。

Geckodriver 版本为 0.15.0

任何帮助将不胜感激,谢谢!

0 投票
0 回答
403 浏览

java - 用于 Selenium 3.3.1 的 GeckoDriver 0.15.0 不会将 Firefox 52 浏览器窗口置于前面

我正在使用 selenium 3.3.1 在 Firefox 52 上运行一些测试,最近从旧版 Firefox 驱动程序切换到 Marionette (geckoDriver 0.15.0)。FirefoxDriver 使用的方法应该是

driver.switchTo().window(handle).switchTo().defaultContent();

但是,当我使用 GeckoDriver 时,这不起作用。

这是应将窗口置于最前面的代码示例:

有人可以告诉我是否有可以使用的已知解决方法吗?

0 投票
3 回答
45056 浏览

selenium - webdriver.firefox.marionette 和 webdriver.gecko.driver 的区别

我现在正在学习 Selenium,但遇到了一个问题。

我知道 Selenium 默认支持旧的 Firefox 版本,没有驱动程序。对于最新版本的 Firefox,我们必须下载驱动程序并使用System.setProperty.

根据此链接,对于 Firefox 45 和 46,启动驱动程序代码可能如下所示:

我的 Firefox 是 45.5.1 版,但上面的代码仍然无法工作。所以根据这个链接,我添加了:

System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");

它奏效了。

然后我意识到geckodriver.exe我的电脑上没有安装。为了了解它是如何进行的,我已更改为以下代码:

它仍然有效。

所以,我的第一个问题来了:发生了什么?我确信geckodriver.exe在我的环境中不存在。如果没有指定位置,那我为什么要设置属性?

此外,我还看到了如下代码:

webdriver.gecko.driver 我的第二个问题是andwebdriver.firefox.marionettewires.exeand之间有什么区别geckodriver.exe

0 投票
1 回答
368 浏览

python-3.x - 安装 Firefox 'marionette_driver' python 包时出错

安装 Mozilla 自动化客户端“marionette_driver”时出错。

Mozilla文档说使用以下命令进行安装:

这会产生一个错误:

pip install 命令的这些变体产生相同的错误。

(debian 系统似乎需要 pip3 来安装 python3 包,而有人建议使用 sudo -H 可以避免 egg_info 错误。似乎没有什么区别。)

我安装了 Python 2.7 和 3.5。我通常希望 pip 安装 python 2 包。但是我用的是3.5,那我知道什么?无论如何,使用 pip 和 pip3 也会出现同样的错误。

0 投票
2 回答
1182 浏览

c# - Geckodriver 0.16.0 使用 flashplayer 启动 firefox

由于 geckodriver v0.16.0 flashplayer 默认被禁用。是否有可能在启用 flashplayer 的情况下启动 Firefox?

我正在使用 C#。我现在的代码:

下面的代码对我不起作用:

当我使用这个时:

firefox 询问我是否要启用 flashplayer,然后刷新页面(之前填写了所有输入 - 所以我有空字段)。如果我选择“允许并记住”,下次我启动此代码时不会保存任何内容。我遇到了同样的情况。

0 投票
0 回答
94 浏览

linux - 带有 Firefix 52 的 Linux 机器:我没有 geckoDriver.exe 并且 Selenium 测试仍然运行良好

我按照这个答案https://stackoverflow.com/a/43899952/7282061的步骤进行操作,但仍然无法在安装了 Firefox 54.0.1 的 Windows 7 机器上运行测试。它打开了浏览器,但没有 Gecko 驱动程序就无法运行测试。

但它在没有 Gecko 驱动程序的情况下在具有 Firefox 52 和 Selenium 2.52 的 Linux 机器上工作,无论我在 DesiredCapabilities 中将 marionette 设置为 true 还是 false !!!有人可以解释一下吗?Selenium 2.52 支持没有这个 geckoDriver 的较新的 Firefox 版本?

0 投票
1 回答
1328 浏览

javascript - 在旧版本的 Firefox (v41.0) 上运行 Selenium (v3.4.0) 测试

经过几个小时浏览互联网后,我无法找到解决方案。由于某些原因,我目前正在尝试在旧版本的 Firefox(此处为 v41.0)上测试我的应用程序。我正在传递集线器(v3.4.0)的 Selenium docker图像和 Firefox节点(v41.0)的 docker 图像。

我知道对于旧版本的 Firefox,Geckodriver 不兼容,但似乎有一个解决方案使用

Firefox 节点完美连接到网格。我可以使用它连接到它,docker exec -it <container-id> bash但是在运行测试时会出现问题。

我仍在尝试找到它,但我被阻止了。这里是 Dockerfile 的代码:hub.docker.com/r/selenium/node-firefox/~/dockerfile/ 用于 Firefox 节点,这里是测试代码(使用 MochaJS)。

这里的日志

当因为“谷歌是你的朋友”而搜索问题时,唯一的回应是“更新你的 Firefox 版本”或“降级你的 Selenium 版本”,但我不能。有人可以解释我如何使它工作吗?甚至可以接受一种解决方法。

谢谢