Reputation: 31
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
def set_pref(path):
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.dir", path)
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.helperApps.neverAsk.saveToDisk",
"application/csv,application/excel,application/vnd.msexcel,application/vnd.ms-excel,text/anytext,text/comma-separated-values,text/csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/octet-stream")
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.helperApps.neverAsk.openFile",
"application/csv,application/excel,application/vnd.msexcel,application/vnd.ms-excel,text/anytext,text/comma-separated-values,text/csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/octet-stream")
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
profile.set_preference("browser.download.manager.useWindow", False)
profile.set_preference("browser.download.manager.focusWhenStarting", False)
profile.set_preference("browser.download.manager.alertOnEXEOpen", False)
profile.set_preference("browser.download.manager.showAlertOnComplete", False)
profile.set_preference("browser.download.manager.closeWhenDone", True)
profile.set_preference("pdfjs.disabled", True)
return webdriver.Firefox(firefox_profile=profile)
def main():
display = Display(visible=1, size=(1050, 800))
display.start()
driver = set_pref(path)
if __name__ == "__main__":
main()
This is my code. I am trying to create a Firefox instance using webdriver. I am getting the following error.
Traceback (most recent call last):
File "my_script.py", line 226, in <module>
main()
File "my_script.py", line 207, in main
driver = set_pref(path)
File "my_script.py", line 44, in set_pref
return webdriver.Firefox(firefox_profile=profile)
File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
keep_alive=True)
File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: newSession
firefox version 63.0 | selenium version 3.14.1 | geckodriver version 0.18.0
I am not able to run any of my scripts since morning. Not able to figure out what went wrong.
Upvotes: 0
Views: 614
Reputation: 86
To always verify geckodriver is compatible with your current firefox & selenium version, do the following:
Keep downloaded geckodriver at System32 if you are on Windows OS & /usr/local/bin if you are on Mac OSX. Download from here
java -jar selenium-server-standalone-3.14.0.jar
Upvotes: 2
Reputation: 2891
According to this compatibility chart https://firefox-source-docs.mozilla.org/testing/geckodriver/geckodriver/Support.html your geckodriver does not support Firefox >62. So the answer might be simple: update your geckodriver.
Upvotes: 2