Use Selenium with Chromium Browser

前端 未结 6 1315
不知归路
不知归路 2020-12-05 10:50

In the Selenium options (on Firefox) I can find Custom browser.

Is it possible to use this option to run a Selenium test in Chromiu

相关标签:
6条回答
  • 2020-12-05 11:24

    On unix systems, you can do something like

    sudo ln -s /usr/lib/chromium-browser/chromium-browser /usr/bin/google-chrome
    

    and then you can use "*googlechrome" as the lauch parm when creating your DefaultSelenium instance.

    0 讨论(0)
  • 2020-12-05 11:26

    Uh, the accepted answer doesn't answer the question. Google Chrome is based on Chromium, but they're not the same browser.

    This is what you want: (since Chromium isn't officially supported)

    DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*custom C:/path/to/chromium.exe" , "www.google.com");
    selenium.start();
    

    Edit 2018-08: Looks like the accepted answer changed to a copy of this one several years later, so my original comment is no longer correct. I'm leaving it there, but struck out, because the votes are misleading if I straight remove it.

    0 讨论(0)
  • 2020-12-05 11:31

    Yes. For Chromium use:

    DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*custom path/to/chromium" , "www.google.com");
    selenium.start();
    

    The other options that you can use are *custom, *chrome(note: this is not Google chrome, its a firefox mode only), *googlechrome, *iexplore. Please check selenium documentation for complete list of the modes.

    EDIT: Changed googlechrome to chromium

    0 讨论(0)
  • 2020-12-05 11:31

    Yes, it is...

    In a Linux you can install, to use without a xwindow (ex.: in a webserver) too... Its nice to some tests.

    apt install chromium-shell 
    

    In a code, you'll need a chromedriver, look this:

    chromedriver

    In this case i'll use a python code, to open a chromium in a headless mode:

    def startBot():
        chrome_options = Options()
        chrome_options.add_argument('--headless')
        chrome_options.add_argument('--no-sandbox')
        chrome_options.add_argument('--disable-dev-shm-usage')
        driver = webdriver.Chrome('/opt/chromedriver85', options=chrome_options)
        #driver.set_window_size(1366, 728)
        #aguardar carregamento em segundos
        driver.implicitly_wait(5)
    
        print("get url...")
        driver.get("https://www.google.com")
    

    Obs.:

    A headless browser is a great tool for automated testing and server environments where you don't need a visible UI shell. (source)

    That's it!

    0 讨论(0)
  • 2020-12-05 11:34

    It's probably too easy, and I'm going to figure out what I did that is horribly wrong, but...

        ChromeOptions options = new ChromeOptions();
    
        options.BinaryLocation = "C:\Program Files (x86)\Chromium\Application\chrome.exe");
    
        using (var chrome = new ChromeDriver(options))
    

    appears to work...

    0 讨论(0)
  • 2020-12-05 11:38

    (Python)

    You can use chromium-chromedriver instead of the vanilla chromedriver. It can be installed via apt-get like "sudo apt-get install chromium-chromedriver"

    In my scripts I then configure the chromebrowser and driver to use the chromium exe and chromedriver exe like:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    options = Options()
    options.BinaryLocation = "/usr/bin/chromium-browser"
    
    driver = webdriver.Chrome(executable_path="/usr/bin/chromedriver",options=options)
    driver.get("https://www.google.com")
    
    0 讨论(0)
提交回复
热议问题