selenium Selenium Web Browser Automation How do you start Selenium+Firefox on Linux using a custom Geckodriver and Firefox path?
Jump
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearVE
    veekm
    9 months ago 100%

    I need to scrape an internal website using the system browser via --marionette Eventually this will be turned into a windows script. I tried using webdriver-manager and got it working but I still need to specify a path to firefox and the site is internal. This is my script in Windows - it doesn't work. It uses GeckDriverManager but I'd prefer a hardcoded path.

    from selenium import webdriver
    from selenium.webdriver.firefox.service import Service
    from selenium.webdriver.firefox.options import Options
    from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
    from webdriver_manager.firefox import GeckoDriverManager
    
    options = Options()
    options.binary = FirefoxBinary(r'C:\Program Files\Mozilla Firefox\firefox.exe')
    
    service = Service(GeckoDriverManager().install(), service_args = ['--marionette-port', '2828', '--connect-existing'] )
    driver = webdriver.Firefox(options=options, service = service)
    #pageSource = driver.page_source
    #print(pageSource)
    
    
    1
  • selenium
    Selenium Web Browser Automation veekm 9 months ago 100%
    How do you start Selenium+Firefox on Linux using a custom Geckodriver and Firefox path?

    ``` from selenium import webdriver from selenium.webdriver.firefox.service import Service from selenium.webdriver.firefox.options import Options options = Options() options.binary_location = '/mnt/sdb1/firefox/' driver = webdriver.Firefox(options = options, service=Service(executable_path = '/mnt/sdb1/root')) driver.get('https://youtube.com') driver.execute_script('alert(\'your favorite music is here\')') ``` I get the following error ``` Traceback (most recent call last): File "/mnt/sdb1/root/sele.py", line 8, in driver = webdriver.Firefox(options = options, service=Service(executable_path = '/mnt/sdb1/root')) File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__ self.service.path = DriverFinder.get_path(self.service, options) File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/common/driver_finder.py", line 44, in get_path raise NoSuchDriverException(f"Unable to locate or obtain driver for {options.capabilities['browserName']}") selenium.common.exceptions.NoSuchDriverException: Message: Unable to locate or obtain driver for firefox; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location ```

    5
    4