使用Robot Framework的Open Browser方法停用Chrome扩展程序

时间:2018-04-23 15:45:03

标签: python python-2.7 selenium-webdriver selenium-chromedriver robotframework

我需要使用实验性选项打开Chrome最大化,以防止有关扩展程序的弹出式警告,并且管理员已禁用该行为警告"。

使用Create WebDriver,我可以使用

Open Chrome With Options
  ${options}=  Evaluate  sys.modules['selenium.webdriver'].ChromeOptions()  sys, selenium.webdriver
  Call Method       ${options}    add_experimental_option      useAutomationExtension    ${FALSE}
  Call Method       ${options}    add_argument      start-maximized
  Create WebDriver  Chrome    chrome_options=${options}
  Go To             ${HOMEPAGE}

但是,当我尝试使用Open Browser(见下文)时,虽然" useAutomationExtension"正在工作,忽略了启动最大化设置。这是为什么?

Open Chrome with Capabilities
  ${args}=              Create List   start-maximised
  ${chrome_options}=    Create Dictionary
  ...    useAutomationExtension     ${FALSE}
  ...    args                       ${args}
  ${capabilities}=     Create Dictionary
  ...    chromeOptions    ${chrome_options}
  Open Browser  ${HOMEPAGE}  ${BROWSER}    desired_capabilities=${capabilities}

2 个答案:

答案 0 :(得分:2)

所需功能和Chrome选项是两种不同的配置。关键字" Open Browser"不支持Chrome选项,因此向chrome添加选项的唯一方法是使用关键字"创建WebDriver"

答案 1 :(得分:1)

您需要在列表中添加所有参数。然后将此列表传递给Dictionary对象,并将其传递给打开浏览器。

所有chrome选项都需要作为字典对象传递给具有所需的关键功能的Open Browser。

例如

${options} =     Create List    --start-maximized    --disable-web-security <<any options that you need to add>>
${arguments} =     Create Dictionary    args=${options}
${capabilities} =     Create Dictionary    chromeOptions=${arguments}
Open Browser    https://www.google.com    remote_url=${grid_url}    browser=${BROWSER}    desired_capabilities=${capabilities}