Using Selenium in the background

16,797

I would suggest try using headless PhantomJs GhostDriver (which is a relatively new thing). As this is the native Selenium Webdriver way of doing it.

Download PhantomJs executables from http://phantomjs.org/download.html.

driver = webdriver.PhantomJS("./phantomjs") # path to phantomjs binary
driver.get("https://ps.rsd.edu/public/")

elem = driver.find_element_by_name("account")
elem.send_keys("Username")
elem2 = driver.find_element_by_name("pw")
elem2.send_keys("Password")
elem.send_keys(Keys.RETURN)

driver.quit()
Share:
16,797
Serial
Author by

Serial

I like programming.

Updated on July 24, 2022

Comments

  • Serial
    Serial almost 2 years

    I'm using Selenium and chrome webdriver but when I run scripts it opens a window. Is there any way that it can access the internet without the window popping up?

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    
    driver = webdriver.Chrome()
    
    driver.get("https://ps.rsd.edu/public/")
    elem = driver.find_element_by_name("account")
    elem.send_keys("Username")
    elem2 = driver.find_element_by_name("pw")
    elem2.send_keys("Password")
    elem.send_keys(Keys.RETURN)
    
    driver.quit()
    

    For example, this goes to my school's grade site and puts in a username and password but I want to do this without the browser popping up if that's possible.

  • Serial
    Serial about 11 years
    Im getting a long error message here is the end of it: raise WebDriverException("Unable to start phantomjs with ghostdriver.", e) WebDriverException: Message: 'Unable to start phantomjs with ghostdriver.' ; Screenshot: available via screen
  • DJG
    DJG almost 11 years
    @ChristianCareaga Can you please say how you figured out how to deal with that error? That's what's coming up for me now. Thanks.
  • Serial
    Serial almost 11 years
    i had to write the full directory to phantomjs i think , but im not sure i wrote this awhile back and ended up doing something else
  • Alkanshel
    Alkanshel over 10 years
    I'm also getting "Unable to start phantomjs with ghostdriver." The dev mentioned in a comment hasn't updated the python 2.7 selenium bindings. They're broken or something.
  • Tetrinity
    Tetrinity about 10 years
    I was getting the same error, but manually implementing the fix found here did the trick. It will be included in 2.40 when that comes out.
  • blachniet
    blachniet about 10 years
    I was having some issues, even with selenium 2.40. Once I passed in the full path to the phantomjs.exe, everything worked fine.