0

我正在寻找一种方法,利用 RIDE 和 Robot Framework,运行 Firefox(版本 20——最新版本),打开我喜欢的页面。这过去与早期的 Firefox 版本无关,但现在似乎与 Firefox 20 处理配置文件的方式有关。当我尝试运行通常的打开浏览器命令时,Firefox 会弹出,但标题中没有 URL,而且毫无生气。

Selenium Firefox 的驱动程序似乎提供了一种方法来定义要查找的配置文件目录,但这似乎无济于事:

在此处输入图像描述

(给定目录对应于我通过 Firefox 创建的新配置文件)

4

7 回答 7

1

此处输入链接描述中,我发现:“当有自定义配置文件时,生成的配置文件路径“newprof”可能是一个 unicode 字符串,并且 webdriver 只接受字节字符串。”

尝试在 selenium/webdriver/firefox/firefox_profile.py 中添加和删除一些行,详细信息在这里:https ://github.com/SeleniumHQ/selenium/pull/55/files#r4178907

于 2013-05-16T10:09:06.050 回答
1

试试这个解决方案: https ://code.google.com/p/selenium/issues/detail?id= 5508 希望它有帮助。

于 2013-05-09T08:11:39.353 回答
0

TypeError: environment can only contain strings当我尝试使用 Firefox 的机器人框架时,我也会遇到。

原因:因为在 selenium-2.32.0-py2.7.egg 包中,文件selenium\webdriver\firefox\firefox_profile.py将使用from __future__ import unicode_literals,所以 firefox profile.path 将是 unicode dict。所以当_start_from_profile_path()调用时Popen(command, stdout=PIPE, stderr=STDOUT, env=self._firefox_env).communicate(),会弹出 TypeError。

解决方案:将 Selenium lib 更新到最新版本或删除from __future__ import unicode_literalsfirefox_profile.py

于 2014-01-08T10:05:22.617 回答
0

Selenium 说您需要升级到 2.32.0 以使其与 FF 20 兼容。但是,当我这样做时,我遇到了一个不同的问题:它抛出“TypeError:环境只能包含字符串”

我自己仍在寻找解决问题的方法...也许您可以升级 Selenium 并查看是否有相同的结果?

于 2013-04-16T18:34:39.627 回答
0

转到 firefox_profile.py 文件并删除第一行并添加第二行。(第 157 行)

py/selenium/webdriver/firefox/firefox_profile.py

  • 返回 self.profile_dir

  • 返回 str(self.profile_dir)

这对我来说非常好

于 2016-02-10T05:05:56.543 回答
0

请检查您是否已将 geckodriver.exe 文件添加到 Python 安装文件夹。默认位置在 C 盘。例如- C:\Python27。

于 2017-09-14T10:27:24.080 回答
-2

使用最新和稳定版本的浏览器总是好的。请确保您拥有最新的 geckodriver.exe 并安装 Firefox ESR 版本。

于 2017-09-14T10:33:39.243 回答