Как скачать файл с phantomJS с помощью Robot Framework?

Я использую Robot Framework с PhantomJS (безголовый браузер) и хочу загрузить файл. Но PhantomJS не имеет каких-либо желаемых возможностей или параметров для установки предпочтений, как мы это делаем в Chrome. Ищете предложения или другие варианты загрузки файла CSV с помощью PhantomJS с Robot Framework.


person Madasu    schedule 28.11.2017    source источник
comment
Есть ли причина, по которой вы предпочитаете PhantomJS Chrome для работы в браузере без головы? Начиная с версии 59 Chrome, есть поддержка Mac и Linux, а Windows была добавлена ​​в версии 60. Текущая версия - 62.   -  person A. Kootstra    schedule 28.11.2017
comment
Я никогда не пробовал браузер Chrome без головы, используя PhantomJS, так как мне нужно запустить этот код на сервере. Спасибо   -  person Madasu    schedule 29.11.2017


Ответы (1)


Как вы подчеркнули, проблема не в загрузке файлов. Ниже вы найдете пример скрипта робота, который запускает Chrome в режиме Headless.

*** Settings ***
Library    Selenium2Library

Suite Teardown    Close All Browsers

*** Test Cases ***
Headless Chrome - Open Browser
    ${chrome options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    ${prefs}    Create Dictionary   credentials_enable_service=${false}                 # Verberg de sla wachtwoord op pop-up

    Call Method    ${chrome_options}    add_experimental_option    prefs    ${prefs}
    Call Method    ${chrome options}    add_argument    start-maximized                 # Open de browser in gemaximaliseerd.
    Call Method    ${chrome_options}    add_argument    --headless
    Call Method    ${chrome_options}    add_argument    --disable-gpu    
    Call Method    ${chrome_options}    add_argument    --window-size\=1920,1080
    Create Webdriver    Chrome    chrome_options=${chrome options}

    Go To    http://cnn.com

    Capture Page Screenshot

Если вы хотите работать в автономном режиме в среде Grid, используйте следующий пример:

*** Settings ***
Library    Selenium2Library

Suite Teardown    Close All Browsers

*** Test Cases ***
Headless Chrome - Create Webdriver2
    ${chrome options} =     Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    Call Method    ${chrome_options}   add_argument   --window-size\=1920,1080
    Call Method    ${chrome options}   add_argument   --start-maximized
    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

    Capture Page Screenshot 
person A. Kootstra    schedule 29.11.2017
comment
Когда я попробовал ваш код (первый вариант), он дал мне unrecognized Chrome version: HeadlessChrome/62.0.3202.94 ошибку. - person Brandon Olson; 01.12.2017
comment
Ничего, проблема в ChromeDriver. 2.29 и ниже не поддерживают хром без головы. - person Brandon Olson; 01.12.2017