Selenium ile Mozilla Firefox Portable'de Çalışmak?

Merhabalar, python öğrenmeye henüz yeni başladım. Türkçe kaynakları araştırırken, böyle bir sitenin varlığından haberdar olmam benim mutlu etti.

Selenium ile çeşitli işlemler yapmam gerekiyor. Chrome ile herhangi bir problem yaşamazken, MozillaPortable kullanmaya çalıştığımda ise bir türlü başarılı olamıyorum.

Yaptıklarım:

  1. pip3 ile selenium kurdum.

  2. FirefoxPortable klasorunu proje dizine attım.

  3. geckodriver’i FirefoxPortable klasörü içine attım.

  4. Aşağıdaki kodları çalıştırıyorum fakat hata alıyorum.

     from selenium import webdriver
     from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
    
     binary = FirefoxBinary('D:\\deneme\\FirefoxPortable\\FirefoxPortable.exe')
     exec_path = "D:\\deneme\\FirefoxPortable\\geckodriver.exe"
    
     browser = webdriver.Firefox(executable_path=exec_path, firefox_binary=binary)
     browser.get('https://www.google.com')
    

Hata çıktısı ise şöyle:

 Traceback (most recent call last):
      File "D:/deneme/test.py", line 7, in <module>
        browser = webdriver.Firefox(executable_path=exec_path, firefox_binary=binary)
      File "D:\deneme\venv\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 174, in __init__
        keep_alive=True)
      File "D:\deneme\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
        self.start_session(capabilities, browser_profile)
      File "D:\deneme\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
        response = self.execute(Command.NEW_SESSION, parameters)
      File "D:\deneme\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
        self.error_handler.check_response(response)
      File "D:\deneme\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities


    Process finished with exit code 1
1 Beğeni

Merhaba.

Selenium, firefox ve geckodriver sürümünüzü söylermisiniz?

geckodriver-v0.26.0
Firefox 75.0

Sürümleriniz uygun gibi duruyor, selenium ve Python sürümleriniz de uyuyor mu linkteki tabloya?

Ayrıca Python, geckodriver ve Firefox’un işlemci mimarisinin aynı olduğuna emin olun (32-64 bit).

Kodlardan yana problem yok diyorsunuz yani hocam?

Olmadı bu dediklerinizi baştan kurayım. 64bit diye kurmuştum ama bir daha kontrol edeyim.

Kodda bir problem göremedim, normal Firefox kullanmayı da deneyin bi istiyorsanız. O zaman çalışacak mı bakalım.

Biraz kurcaladım, firefox yolunu değiştirince sorun düzeldi.

 binary = FirefoxBinary('D:\\deneme\\FirefoxPortable\\App\\Firefox\\firefox.exe')

Teşekkürler @EkremDincel