如何使用Selenium2Library在机器人级别为我的chromedriver添加扩展

时间:2015-09-24 23:47:38

标签: python selenium webdriver robotframework selenium-chromedriver

我想在我的机器人套件设置中实例化一个chromedriver实例,但我需要在浏览器启动时安装一个扩展。我可以通过简单地将chromeoptions添加到我的webdriver instatiation来轻松地在Python级别执行此操作,但我需要在Robot级别执行此操作。我发现有一个关键字“Create Webdriver”,它允许你将参数传递给你的webdriver实例。但是,我仍然无法在启动时获得安装扩展。我正在使用selenium.webdriver.chrome.options中的Options和add_extension函数。有人可以帮我这个吗?

Some_Setup
    ${options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()       sys, selenium.webdriver.chrome.options
    ${options.add_extension}=        Set_Variable          path/to/extension
    Create WebDriver    Chrome    chrome_options=${options}

如果有办法通过所需的功能传递我的扩展,我将如何在字典中格式化?似乎desired_capabilties有一个chromeOptions字段,其中包含args:[]和extensions:[]字段可用,但我不知道如何将我的扩展名传递给它。

1 个答案:

答案 0 :(得分:1)

使用selenium.webdriver.chrome.options中的选项,使用

在Python中添加扩展名
options = Options()
options.add_extension(path-to-extension)

返回Options对象,将其保存到$ {chrome_options}变量中,然后再保存...

${kwargs}=          Create Dictionary        chrome_options=${chrome_options}
Create Webdriver    Chrome                   kwargs=${kwargs}

注意机器人测试套件必须导入python lib,它定义了一些" get_options"功能如上。