WebDriverException: Error: Permission denied to access property "navigator"

firefox, geckodriver, selenium, selenium-firefoxdriver, selenium-webdriver

Solution

In general, the reason was different versions of Ubuntu and Firefox free. If such a mistake to see someone, I recommend to execute "apt-cache policy firefox" from terminal. On Ubuntu 16.04 now, you can see:

  Installed: 49.0+build4-0ubuntu0.16.04.1
  Candidate: 49.0+build4-0ubuntu0.16.04.1
  Version table:
 *** 49.0+build4-0ubuntu0.16.04.1 500
        500 http://ua.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
        100 /var/lib/dpkg/status
     45.0.2+build1-0ubuntu1 500
        500 http://ua.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

And on Ubuntu 15.10 :

 Candidate: 47.0+build3-0ubuntu0.15.10.1
 Version table:
    47.0+build3-0ubuntu0.15.10.1 0
       500 http://azure.archive.ubuntu.com/ubuntu/ wily-updates/main amd64 Packages
       500 http://security.ubuntu.com/ubuntu/ wily-security/main amd64 Packages
       100 /var/lib/dpkg/status
    41.0.2+build2-0ubuntu1 0
       500 http://azure.archive.ubuntu.com/ubuntu/ wily/main amd64 Packages

And they have to be addressed. And the rollback version of selenium and other dependencies data base can not help, because at the front end may be things that are not supported by the browser (not to speak of the FB), for example: `var result = window.Notification.requestPermission(callback)` and it is https://developer.mozilla.org/ru/docs/Web/API/Notification/requestPermission :) And yes, you're right it seemed (to view error) that the page is empty - for `ajax` not work out. On the one hand you may find a bug (not every customer he uses the latest version of the browser), but in my case - this is a plus pain in the ass. And to update the entire system - entertainment for the fan, although it may be in your team has a person who is expressed as procrastination, and in this case, you're in luck.

Problem

Here is the deal with the "magic" encountered: The code works fine on Ubuntu 16.04, Ubuntu 15.10 on a fall with errors: ``` org.openqa.selenium.WebDriverException: Error: Permission denied to access property "navigator" org.openqa.selenium.WebDriverException: Error: Permission denied to access property "document" ``` I have following code: ``` import geb.spock.GebReportingSpec import geb.waiting.WaitTimeoutException class LoginSpec extends GebReportingSpec { def "#0 go to login FB"() { when: browser.go("https://www.facebook.com/") then: delay(9) if (browser.title != "Facebook") { browser.title == "Facebook - Log In or Sign Up" browser.currentUrl == "https://www.facebook.com/" waitFor(30){ $("#loginbutton").size() == 1 } $("#email").value(Config.FB_USERNAME) $("#pass").value(Config.FB_PASSWORD) println("entered credentials") $("#loginbutton").click() } delay(9) } void delay(Long seconds){ try { waitFor(seconds){ } } catch (WaitTimeoutException ignored){ } } } ``` GebConfig.groovy : ``` import org.openqa.selenium.firefox.FirefoxDriver waiting { timeout = 2 } environments { firefox { driver = { new FirefoxDriver() } } } baseUrl = "https://google.com" testReportDir = new File("$buildDir/test-reports/UT") testResultsDir = new File("$buildDir/test-results/UT") ``` And at build.gradle lines ``` firefoxTest { systemProperty "webdriver.gecko.driver", "/usr/bin/geckodriver" } ``` Error: ``` LoginSpec > #0 go to login FB FAILED org.openqa.selenium.WebDriverException: Error: Permission denied to access property "navigator" Build info: version: '3.0.0-beta4', revision: '3169782', time: '2016-09-29 10:30:04 -0700' System info: host: 'tb-buildagent01-infrastructure-ci', ip: '10.4.1.4', os.name: 'Linux', os.arch: 'amd64', os.version: '4.2.0-30-generic', java.version: '1.8.0_66-internal' Driver info: org.openqa.selenium.firefox.FirefoxDriver Capabilities [{rotatable=false, raisesAccessibilityExceptions=false, marionette=true, appBuildId=20160606114238, version=, platform=LINUX, proxy={}, command_id=1, specificationLevel=0, acceptSslCerts=false, browserVersion=47.0, platformVersion=4.2.0-30-generic, XULappId={ec8030f7-c20a-464f-9b0e-13a3a9e97384}, browserName=Firefox, takesScreenshot=true, takesElementScreenshot=true, platformName=Linux, device=desktop}] Session ID: 5af3ae72-af52-4760-9b9c-5a1261b52113 at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:126) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:93) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:42) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:163) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:602) at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:284) at org.openqa.selenium.remote.RemoteWebElement.getAttribute(RemoteWebElement.java:136) at geb.navigator.NonEmptyNavigator.setInputValue(NonEmptyNavigator.groovy:687) at geb.navigator.NonEmptyNavigator.setInputValues_closure40(NonEmptyNavigator.groovy:680) at groovy.lang.Closure.call(Closure.java:414) at geb.navigator.NonEmptyNavigator.setInputValues(NonEmptyNavigator.groovy:679) at geb.navigator.NonEmptyNavigator.value(NonEmptyNavigator.groovy:417) at LoginSpec.#0 go to login FB(LoginSpec.groovy:81) org.openqa.selenium.WebDriverException: Error: Permission denied to access property "document" Build info: version: '3.0.0-beta4', revision: '3169782', time: '2016-09-29 10:30:04 -0700' System info: host: 'tb-buildagent01-infrastructure-ci', ip: '10.4.1.4', os.name: 'Linux', os.arch: 'amd64', os.version: '4.2.0-30-generic', java.version: '1.8.0_66-internal' Driver info: org.openqa.selenium.firefox.FirefoxDriver Capabilities [{rotatable=false, raisesAccessibilityExceptions=false, marionette=true, appBuildId=20160606114238, version=, platform=LINUX, proxy={}, command_id=1, specificationLevel=0, acceptSslCerts=false, browserVersion=47.0, platformVersion=4.2.0-30-generic, XULappId={ec8030f7-c20a-464f-9b0e-13a3a9e97384}, browserName=Firefox, takesScreenshot=true, takesElementScreenshot=true, platformName=Linux, device=desktop}] Session ID: 5af3ae72-af52-4760-9b9c-5a1261b52113 ``` I understand, that something wrong with environment, but I don't know where I made mistake? Please, give me advice, how can I fix this. Thank you.

Original source