如何使用机器人框架运行无头REMOTE chrome

Dan*_*n W 12 robotframework selenium2library

我正在尝试使用我的机器人框架测试套件运行chrome headless.我设法用pylen使用selenium独立完成,如下所示:

options = webdriver.ChromeOptions()
options.add_argument('--headless')
my_driver = webdriver.Remote(command_executer=my_remote_address, desired_capabilities=options.to_capabilities)
Run Code Online (Sandbox Code Playgroud)

以下代码是我在机器人中所做的但是没有用的代码:

${options}=  Evaluate  sys.modules['selenium.webdriver'].ChromeOptions()  sys, selenium.webdriver
${options.add_argument}=  Set Variable  add_argument=--headless
Create WebDriver  Chrome  chrome_options=${options}

Open Browser   http://www.google.com   chrome
Run Code Online (Sandbox Code Playgroud)

Joa*_*lho 21

在较新版本的SeleniumLibrary(3.1.0)和Selenium(3.8.0)中,您只需将浏览器设置为headlesschrome而不是chrome.

还有headlessfirefox.

防爆.

Open Browser      http://www.yoursite.com    headlesschrome
Run Code Online (Sandbox Code Playgroud)

http://robotframework.org/SeleniumLibrary/SeleniumLibrary.html#Open%20Browser

  • 该示例将打开本地无头铬。问题是关于连接到Selenium Grid并启动远程无头chrome实例。 (3认同)

A. *_*tra 13

要运行无头,您需要设置参数并将它们转换为功能,以便在使用该Remote Driver选项时可以使用它们.这既适用于导航到URL Open Browser,也适用于Create Webdriver导航到URL的方式.

*** Settings ***
Library    Selenium2Library

Suite Teardown    Close All Browsers

*** Test Cases ***
Headless Chrome - Create Webdriver
    ${chrome options} =     Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    Call Method    ${chrome options}   add_argument    headless
    Call Method    ${chrome options}   add_argument    disable-gpu
    ${options}=     Call Method     ${chrome_options}    to_capabilities      

    Create Webdriver    Remote   command_executor=http://localhost:4444/wd/hub    desired_capabilities=${options}

    Go to     http://cnn.com

    Maximize Browser Window
    Capture Page Screenshot

Headless Chrome - Open Browser
    ${chrome_options} =     Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    Call Method    ${chrome_options}   add_argument    headless
    Call Method    ${chrome_options}   add_argument    disable-gpu
    ${options}=     Call Method     ${chrome_options}    to_capabilities     

    Open Browser    http://cnn.com    browser=chrome    remote_url=http://localhost:4444/wd/hub     desired_capabilities=${options}

    Maximize Browser Window
    Capture Page Screenshot
Run Code Online (Sandbox Code Playgroud)