I am attempting to use the "gecko" webdriver (.17 I believe) with Selenium (v.3.4.0) to open an older version of Firefox (52.9.0 ESR) in fullscreen (NOT maximized). However, even after reviewing some questions on this website, as well as performing other research, I am still unable to open Firefox in fullscreen. My code is very simple:
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.gecko.driver", "/usr/bin/geckodriver");
String user = args[0];
String pass = args[1];
FirefoxOptions options = new FirefoxOptions();
// options.addArguments("--start-fullscreen");
// options.addArguments("--start-maximized");
// options.addArguments("--disable-infobars");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile ffprofile = profile.getProfile("SELENIUM");
FirefoxDriver driver = new FirefoxDriver(ffprofile);
driver.get(BASE_URL);
driver.findElement(By.name("user")).sendKeys(user);
driver.findElement(By.name("pass")).sendKeys(pass);
driver.findElement(By.id("login")).click();
}
I have tried the following:
Using a custom profile and loading two different extensions (AutoFullscreen and MPT Fullscreen).
Using driver.getKeyboard().sendKeys(Keys.F11); (throws Exception in thread "main" org.openqa.selenium.UnsupportedCommandException: sendKeysToActiveElement
)
Looking for a command line argument to pass to the browser.
I can get this working in Chromium by simply setting an option, but have had no success with Firefox. How might I get it to work with this browser? I am using the older version of Firefox because this is running on a Rasperry PI and that seems to be the latest version supported on the device.
Thanks.
EDIT:
Output from driver.manage().window().fullscreen():
INFO: Detected dialect: W3C
Dec 11, 2018 9:07:29 AM org.openqa.selenium.remote.ErrorCodes toStatus
INFO: HTTP Status: '404' -> incorrect JSON status mapping for 'unknown error' (500 expected)
Exception in thread "main" org.openqa.selenium.WebDriverException: fullscreenWindow
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'xxx', ip: 'xxx', os.name: 'Linux', os.arch: 'arm', os.version: '4.14.79-v7+', java.version: '1.8.0_65'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{moz:profile=/tmp/rust_mozprofile.GRnhrulj1j6l, rotatable=false, timeouts={implicit=0.0, page load=300000.0, script=30000.0}, pageLoadStrategy=normal, platform=ANY, specificationLevel=0.0, moz:accessibilityChecks=false, acceptInsecureCerts=false, browserVersion=52.9.0, platformVersion=4.14.79-v7+, moz:processID=1076.0, browserName=firefox, javascriptEnabled=true, platformName=linux}]
Session ID: 6633ed83-9a19-4e5c-9229-5fadef8a83ce
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:150)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:115)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:45)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:694)
at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.fullscreen(RemoteWebDriver.java:929)
at com.midamcorp.kblogin.Entry.main(Entry.java:31)
Related
I am getting the below exception when i am trying to run my first test case using selenium webdriver in java. Can someone help me out plssss.....
Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 48523
Only local connections are allowed.
log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Mar 29, 2018 7:34:16 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.181)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 31 milliseconds
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'NIL-MKODAGA-D13', ip: '172.16.20.242', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '9.0.1'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome= {chromedriverVersion=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f), userDataDir=C:\Users\mkodagan\AppData\Local\Temp\scoped_dir4652_10811}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=65.0.3325.181, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}]
Session ID: 1a39885769cc96406e2f2732c361c049
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:215)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:167)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:671)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:272)
at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:96)
at com.ham.scripts.ClickOnAllLinks.main(ClickOnAllLinks.java:44)
The error says it all :
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.181)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.3.9600 x86_64)
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'NIL-MKODAGA-D13', ip: '172.16.20.242', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '9.0.1'
Driver info: org.openqa.selenium.chrome.ChromeDriver
The error clearly says that the Selenium Client and ChromeDriver is not getting detected back as in :
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Your main issue is the version compatibility between the binaries you are using as follows :
You are using chromedriver=2.33
Release Notes of chromedriver=2.33 clearly mentions the following :
Supports Chrome v60-62
You are using chrome=65.0
Release Notes of ChromeDriver v2.37 clearly mentions the following :
Supports Chrome v64-66
Your Selenium Client version is 3.4.0 of which is a bit older.
So there is a clear mismatch between the Selenium Client v3.4.0 , ChromeDriver version (v2.33) and the Chrome Browser version (v65.0)
Solution
Upgrade Selenium to current levels Version 3.11.0.
Upgrade ChromeDriver to current ChromeDriver v2.37 level.
Keep Chrome version at Chrome v65.x levels. (as per ChromeDriver v2.37 release notes)
Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
Use CCleaner tool to wipe off all the OS chores before and after the execution of your test Suite.
If your base Web Client version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Web Client.
Take a System Reboot.
Execute your #Test.
As mentioned by #DebanjanB, the problem lies with chromedriver version. From the logs you can see that it uses chromedriver=2.33.506120 which is bit old. Check for the latest version from "https://sites.google.com/a/chromium.org/chromedriver/downloads".
I was also facing the same problem the problem could be solved by updating the chrome driver.
You could uses below approaches for solving it.
Running npm install -g chromedriver
Manually updating the chromedriver, I found the chromedriver being used by the appium resides in below location.
C:\Users\User-Name\AppData\Local\appium-desktop\app-1.5.0\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win.
Replace this chromedriver with the latest one and run your code. It should work fine.
Note: The location could be OS specific, so search for chromedriver exact location.
MAC: 10.11.6,
Selenium: 2.53(Also tried with 3.4 and 3.8) &
Java 1.8
Driver settings tried:
String exePath ="/usr/local/Cellar/chromedriver/2.35/bin/chromedriver";
System.setProperty("webdriver.chrome.driver", exePath);
WebDriver driver = new ChromeDriver();
driver = new ChromeDriver(options);
Error stack trace:
Starting ChromeDriver 2.35.528157 (4429ca2590d6988c0745c24c8858745aaaec01ef) on port 14988
Only local connections are allowed.
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created exception
from disconnected: unable to connect to renderer
(Session info: chrome=64.0.3282.140)
(Driver info: chromedriver=2.35.528157 (4429ca2590d6988c0745c24c8858745aaaec01ef),platform=Mac OS X 10.11.6 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 2.55 seconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:32:46'
System info: host: '01hw382197', ip: '172.25.155.171', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11.6', java.version: '1.8.0_111'
Driver info: org.openqa.selenium.chrome.ChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116)
at dataAndConfig.DriverClass.getDriver(DriverClass.java:39)
at scriptsPostPaidWebApp.BillingPayNow.main(BillingPayNow.java:27)
Have a look at the following links:
https://github.com/SeleniumHQ/selenium/issues/4897
WebDriverError: disconnected: unable to connect to renderer
https://github.com/SeleniumHQ/selenium/issues/4979
First off you should make sure that your ChromeDriver supports your Chrome version. Since you are using ChromeDriver 2.3.5 and Google Chrome v64 you should be fine. (you still might want to upgrade your Selenium version)
According to the links posted above, you need to comment out every method that manipulates the window size of your browser in any way. e.g. setMaximize().
If that didnt work, you might want to give options.addArguments("no-sandbox"); a try.
I'm a newbie with Selenium WebDriver. I found some sample code, and adapted it a little bit to get my own test program. I'm having trouble with it! Here's the program:
package test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class SeleniumTester {
public static void main(String[] args) {
try {
System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Selenium\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.oddsportal.com/");
driver.manage().window().maximize();
String str = driver.getCurrentUrl();
System.out.println("The current URL is " + str);
}
catch (Exception ex) {
System.out.println("Encountered exception in SeleniumTester.main() :");
System.out.println(ex.getMessage());
}
}
}
It compiles fine, and starts running, first outputting some diagnostics:
"Starting ChromeDriver (v2.9.248315) on port 11716
October 25, 2017 6:11:22 IP.
org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS"
But then, at the line "driver.get(...);" an exception occurs :
"Encountered exception in SeleniumTester.main() :
unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"8164.1","isDefault":true},"id":1,"name":"","origin":"://"}
(Session info: chrome=61.0.3163.100)
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T16:15:40.131Z'
System info: host: 'DESKTOP-47EFBCO', ip: '192.168.43.83', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, chrome={userDataDir=C:\Users\Ilkka\AppData\Local\Temp\scoped_dir12200_17489}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=61.0.3163.100, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, platformName=XP, cssSelectorsEnabled=true}]
Session ID: 31a4a5806225e18533805ed0fbbca392"
Something about invalid context. What does it mean? How to fix it? Should I perhaps use a different constructor to create the ChromeDriver? Ideas, anyone?
Most likely the issue is because of an older version of chromedriver. Download a newer version of chromedriver and try giving its path.
The browser version and driver version compatibility issues could cause this issue. The chromedriver page mentions the driver compatibility for browser version. For example, as of now, the page lists:
Latest Release: ChromeDriver 2.33
Supports Chrome v60-62
I'm trying to locate a WebElement on google.com page using Appium and AndriodDriver. Selenium throws an Exception every time I'm trying to run the code bellow.
Client:
#Test
public void mobWebAppTest() throws Exception{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "4.3");
capabilities.setCapability("deviceName", "4df12fbe651cafd3");
capabilities.setCapability("appPackage", "com.android.browser");
capabilities.setCapability("appActivity", "BrowserActivity");
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");
AndroidDriver<WebElement> driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get("https://www.google.com/");
driver.findElement(By.xpath("//input[#name='q']")); // the error is thrown here
driver.quit();
}
Exception Logs:
org.openqa.selenium.NoSuchElementException: An element could not be located on
the page using the given search parameters. (WARNING: The server did not
provide any stacktrace information)
Command duration or timeout: 30.31 seconds
For documentation on this error, please visit:
http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.53.1', revision:
'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: '*******', ip: '*******', os.name: 'Mac OS X', os.arch:
'x86_64', os.version: '10.10.5', java.version: '1.8.0_11'
Driver info: io.appium.java_client.android.AndroidDriver
Capabilities [{appPackage=com.android.browser, deviceScreenSize=720x1280,
networkConnectionEnabled=true, warnings={}, databaseEnabled=false,
deviceName=4df12fbe651cafd3, platform=LINUX, deviceUDID=4df12fbe651cafd3,
appActivity=BrowserActivity, desired={appPackage=com.android.browser,
appActivity=BrowserActivity, platformVersion=4.3, automationName=Appium,
browserName=Android, platformName=Android, deviceName=4df12fbe651cafd3},
platformVersion=4.3, webStorageEnabled=false, locationContextEnabled=false,
automationName=Appium, takesScreenshot=true, browserName=Android,
javascriptEnabled=true, deviceModel=GT-I9300, platformName=Android,
deviceManufacturer=samsung}]
Session ID: c68c1f7d-0e6e-481a-a335-23ede1de7de9
*** Element info: {Using=xpath, value=//input[#name='q']}
at ...
Also, when I'm trying to get a source code of the page, I'm getting back xml (as in ui automator) of the entire screen, not HTML of the google page. Could it be the reason for the exception?
THank you.
You need to switch to the web context first for DOM-level access:
driver.context("WEBVIEW_1");
You can get all available contexts with driver.getContextHandles().
To automate the "Browser" app with Appium, you need to use desired capability "browserName": "Browser" instead of setting the appPackage & appActivity.
https://appium.io/slate/en/master/?java#appium-server-capabilities
Selenium 3.0 Firefx Driver fails with org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session.
System.setProperty("webdriver.gecko.driver", "..<Path>../geckodriver.exe");
capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
driver = new FirefoxDriver(capabilities);
Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{marionette=true, firefoxOptions=org.openqa.selenium.firefox.FirefoxOptions#23aa363a, browserName=firefox, moz:firefoxOptions=org.openqa.selenium.firefox.FirefoxOptions#23aa363a, version=, platform=ANY}], required capabilities = Capabilities [{}]
Build info: version: '3.0.0', revision: '350cf60', time: '2016-10-13 10:48:57 -0700'
System info: host: 'D202540', ip: '10.22.19.193', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_45'
Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:91)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:259)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:247)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:242)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:135)
this issue is solved with geckodriver 0.15 and selenium 3.3 version.
You need to download geckodriver. And then set
System.setProperty("webdriver.gecko.driver", "path\\to\\geckodriver.exe")
Check this link.
I had the same problem and fixed it with this. It seems it could not find the firefox binary
capabilities.setCapability("firefox_binary","C:\\Program Files\\Mozilla Firefox\\firefox.exe");
Same problem here. It was solved opening Eclipse/Netbeans with admin privileges.
This worked (linux mint, opensuse thumbleweed, win7)
with
libraryDependencies += "org.seleniumhq.selenium" %
"selenium-firefox-driver" % "3.0.1"
geckodriver.exe -V
geckodriver 0.13.0
if (System.getProperty("os.name").toLowerCase().contains("linux")) {
println("загружены настройки os.name=linux")
System.setProperty("webdriver.chrome.driver", "bin/chromedriver")
System.setProperty("webdriver.gecko.driver", "bin/geckodriver")
}else{
System.setProperty("webdriver.chrome.driver", "bin\\chromedriver.exe")
System.setProperty("webdriver.gecko.driver", "bin\\geckodriver.exe")
System.setProperty("webdriver.ie.driver", "bin\\IEDriverServer.exe")
System.setProperty("webdriver.edge.driver", "C:\\Program Files (x86)\\Microsoft Web Driver\\MicrosoftWebDriver.exe")
System.setProperty("webdriver.opera.driver", "c:\\XXX\\operadriver.exe")
System.setProperty("webdriver.opera.path","""C:\\Users\\user\\AppData\\Local\\Programs\\Opera""")
System.setProperty("webdriver.opera.binary","""C:\\Users\\user\\AppData\\Local\\Programs\\Opera\\launcher.exe""")
//
}
...
case
"firefox" => {
println(" подгружаем Веб-драйвер: geckodriver")
//iniprofile = new ProfilesIni()
//ffprofile = iniprofile.getProfile("default")
dc = DesiredCapabilities.firefox()
dc.setCapability("gecko", true) // как выйдет драйвер, так и установить
// dc.setCapability(FirefoxDriver.PROFILE, ffprofile); //FirefoxDriver.PROFILE = “firefox_profile”;
remote = new FirefoxDriver(dc)
}
but, for Remotewebdriver-connection if previous session failed,cancelled or aborted we get error:
[info] XXXX.E011_WebDB6292 *** ABORTED ***
[info] org.openqa.selenium.SessionNotCreatedException: Session is already started (WARNING: The server did not provide any stacktrace information)
[info] Command duration or timeout: 0 milliseconds
[info] Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:49:13 -0700'
[info] System info: host: 'XXXX', ip: '172.16.4.125', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_11'
[info] Driver info: driver.version: RemoteWebDriver
[info] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
I ran into the same problem today, and it appears that not being admin on my laptop is actually an issue. To resolve it
Install in a non admin way Firefox (just need to click on no when Windows ask for privilege elevation)
Use the exe path (for my system something like C:\\Users\\MyUserName\\AppData\\Local\\MozillaFirefox\\firefox.exe).
It actually solved the issue.
Alternatively if you dont want to download the Gecko driver, you can downgrade the Firefox version to 44.
https://support.mozilla.org/t5/Install-and-Update/Install-an-older-version-of-Firefox/ta-p/1564
If you are using the latest GekoDriver then better to update the Selenium library versions as well.
The above issue is related to the Selenium version.