Bagaimana cara mengunduh file dengan phantomJS menggunakan Robot Framework?

Saya menggunakan Robot Framework dengan PhantomJS (browser tanpa kepala) dan ingin mengunduh file. Namun PhantomJS tidak memiliki Kemampuan atau opsi yang diinginkan untuk mengatur preferensi seperti yang kami lakukan di Chrome. Mencari saran atau opsi lain untuk mengunduh file CSV menggunakan PhantomJS dengan Robot Framework.


person Madasu    schedule 28.11.2017    source sumber
comment
Adakah alasan Anda lebih memilih PhantomJS daripada Chrome untuk eksekusi browser tanpa kepala? Pada Chrome versi 59 ada dukungan Mac dan Linux dan Windows ditambahkan di versi 60. Versi saat ini adalah 62.   -  person A. Kootstra    schedule 28.11.2017
comment
saya belum pernah mencoba browser chrome headless, menggunakan PhantomJS karena saya harus menjalankan kode ini di server. Terima kasih   -  person Madasu    schedule 29.11.2017


Jawaban (1)


Seperti yang Anda soroti bahwa mengunduh file bukanlah masalahnya. Di bawah ini Anda akan menemukan contoh Skrip Robot yang memulai Chrome dalam mode Tanpa Kepala.

*** 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

Jika Anda ingin menjalankan dalam mode tanpa kepala di lingkungan Grid, gunakan contoh berikut:

*** 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
Saat saya mencoba kode Anda (variasi pertama), saya mendapat kesalahan unrecognized Chrome version: HeadlessChrome/62.0.3202.94. - person Brandon Olson; 01.12.2017
comment
Sudahlah, masalahnya ada pada ChromeDriver. 2.29 dan di bawahnya tidak mendukung chrome tanpa kepala. - person Brandon Olson; 01.12.2017