由geckodriver打开的浏览器未使用默认设置来运行机器人脚本

时间:2018-07-20 18:40:34

标签: firefox robotframework geckodriver

我已将Firefox中的layout.css.devPixelsPerPx设置为0.9(打开一个新标签,输入“ about:config”并按Enter),因为我希望浏览器以一定级别的缩放比例打开。当我手动打开浏览器时,它工作正常。

但是,当我运行机器人脚本时,它将打开放大的浏览器,而不是上面已经设置的浏览器。

到目前为止,除上述以外,我还尝试了以下选项- 1.使用Firefox扩展程序尝试,该扩展程序设置了默认的缩放级别,但是由Geckodriver打开的浏览器没有该扩展程序可用。 2.运行Cntrl +-进行缩小,但是一旦更改URL,缩放将重置为100% 3.我可以使用命令打开浏览器(已设置正确的缩放级别)。有没有一种方法,我可以要求Robot使用浏览器的现有实例,而不是打开新的实例?

如何让机器人打开具有一定缩放比例的Firefox浏览器?

1 个答案:

答案 0 :(得分:1)

运行脚本时看不到设置有效的原因是因为Selenium在启动浏览器时会创建一个新的配置文件。

您在浏览器中所做的任何更改,您添加的所有扩展名都存储在用户的个人资料中。 Selenium使用干净/原始的配置文件(例如:具有默认设置),因此您的测试环境始终干净-不受您可能在日常工作中添加的自定义设置,扩展名和缓存资源的影响。

如果您想在 Selenium 浏览器会话中更改特定设置,请在带有Robotframework的Firefox下-您“很幸运” :)。随附的SeleniumLibrary支持使用预设的配置文件-see the documentation, the Open Browser keyword启动浏览器-它具有参数ff_profile_dir
因此,请创建一个FF配置文件,并将您的设置设置为所需的值(我不知道为什么不将其存储在此处),然后将其目录作为参数传递给Open Browser关键字。因此,当Selenium创建浏览器实例时,它将使用该配置文件,并且该设置有效。