我正在寻找一种方法,利用RIDE和Robot Framework,运行Firefox(第20版 - 最新版本),打开我喜欢的页面。这曾经与早期的Firefox版本无关,但现在似乎存在与Firefox 20处理配置文件的方式有关的问题。当我尝试运行常用的Open Browser命令时,Firefox会弹出,但标题中没有URL并且毫无生气。
Selenium Firefox的驱动程序似乎提供了一种定义要查找的配置文件目录的方法,但这似乎无济于事:
(给定目录对应于我通过Firefox创建的新配置文件)
答案 0 :(得分:1)
试试这个解决方案: https://code.google.com/p/selenium/issues/detail?id=5508 希望能帮助到你。
答案 1 :(得分:1)
从enter link description here,我发现:“当有自定义配置文件时,生成的配置文件路径”newprof“可能是unicode字符串,webdriver只接受字节串。”
尝试在selenium / webdriver / firefox / firefox_profile.py中添加和删除一些行,详细信息如下:https://github.com/SeleniumHQ/selenium/pull/55/files#r4178907
答案 2 :(得分:0)
Selenium说你需要升级到2.32.0以使其与FF 20兼容。但是当我这样做时,我遇到了一个不同的问题:它抛出一个“TypeError:环境只能包含字符串”
我仍然在寻找解决问题的方法......也许你可以升级Selenium并查看你是否有相同的结果?
答案 3 :(得分:0)
当我尝试使用firefox的robotframework时,我也会遇到TypeError: environment can only contain strings
。
原因:
因为在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_literals
firefox_profile.py
行
答案 4 :(得分:0)
转到firefox_profile.py文件并删除第一行并添加第二行。 (第157行)
PY /硒/ webdriver的/火狐/ firefox_profile.py
返回self.profile_dir
return str(self.profile_dir)
这对我来说非常好
答案 5 :(得分:0)
请检查您是否已将geckodriver.exe文件添加到Python安装文件夹中。默认位置在C盘中。例如C:\ Python27。
答案 6 :(得分:-2)
使用最新且稳定版本的浏览器总是好的。请确保您拥有最新的geckodriver.exe并安装Firefox ESR版本。