question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Browser actions not working with chromedriver 75.0.3770.8

See original GitHub issue

Versions:

  • protractor - 5.4.2
  • Chrome - 75.0.3770.90-1
  • chromedriver - 75.0.3770.8

Problem:

My team relies heavily on browser actions such as: protractor.browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform();

We experienced no problems until chromedriver 75.0.3770.8. Now the ARROW_DOWN action above throws the following error:

[chrome #01-5]      Uncaught UnsupportedOperationError: sendKeysToActiveElement
[chrome #01-5] Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
[chrome #01-5] System info: host: 'ip-10-50-2-202.ec2.internal', ip: '10.50.2.202', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.5.1.el7.x86_64', java.version: '1.8.0_201'
[chrome #01-5] Driver info: driver.version: unknown
[chrome #01-5]       at Object.checkLegacyResponse (node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:546:15)
[chrome #01-5]       at parseHttpResponse (node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:509:13)
[chrome #01-5]       at doSend.then.response (node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:441:30)
[chrome #01-5]       at process._tickDomainCallback (internal/process/next_tick.js:135:7)
[chrome #01-5]   From: Task: sendKeys
[chrome #01-5]       at thenableWebDriverProxy.schedule (node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:807:17)
[chrome #01-5]       at actions.map.action (node_modules/protractor/node_modules/selenium-webdriver/lib/actions.js:124:23)
[chrome #01-5]       at Array.map (native)
[chrome #01-5]       at node_modules/protractor/node_modules/selenium-webdriver/lib/actions.js:123:29
[chrome #01-5]       at TaskQueue.execute_ (node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:3084:14)
[chrome #01-5]       at TaskQueue.executeNext_ (node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:3067:27)
[chrome #01-5]       at asyncRun (node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2974:25)
[chrome #01-5]       at node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:668:7
[chrome #01-5]       at process._tickDomainCallback (internal/process/next_tick.js:135:7)

Our temporary fix is revert chromedriver back to version 74.0.3729.6 in our package.json:

node_modules/protractor/bin/webdriver-manager update --versions.chrome 74.0.3729.6

This prior version successfully handles the key events and our suite is passing again.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:4
  • Comments:6 (2 by maintainers)

github_iconTop GitHub Comments

8reactions
vsravuricommented, Jun 17, 2019

@bstiles13

Please give a try

capabilities: { ‘goog:chromeOptions’: { w3c: false } }

2reactions
bstiles13commented, Jun 17, 2019

This happens because from chromedriver 75.0.3770.8 the w3c is enabled by default. You have to either create a workaround or explicitly set w3c to false. https://chromedriver.storage.googleapis.com/75.0.3770.90/notes.txt

I have tried to disable w3c with no luck. The same error persists.

Attempt 1 (script): npm test target/config/sample.config.js -- --chromeOptions.w3c=false

Attempt 2 (config):

export let config: Config = {
    capabilities: {
        'chromeOptions': {
            args: ['w3c=false']
        }
    }
};

Attempt 3 (config):

export let config: Config = {
    capabilities: {
        'chromeOptions': {
            args: ['--w3c=false']
        }
    }
};

Attempt 4 (config):

export let config: Config = {
    capabilities: {
        'chromeOptions': {
            w3c: false
        }
    }
};
Read more comments on GitHub >

github_iconTop Results From Across the Web

ruby - Cromedriver `driver.manage.logs.get(:browser)` fails on ...
in recent selenium-webdriver (4.4.0) with recent Chrome (105), manage.logs is gone but this works: page.driver.browser.logs.get(:browser).
Read more >
WebDriver for Chrome - Downloads
ChromeDriver 77.0.3865.10. Supports Chrome version 77. Fixed several issues in the implementation of Actions API. Improved JavaScript code execution and result ...
Read more >
Testing by Justin Ko
Answer. The problem stems from an upgrade to ChromeDriver 75.0.3770.8, where the release notes state “the most noticeable change is ChromeDriver ...
Read more >
we have migrated to a new ChromeDriver site. - Google Sites
3865.10. Supports Chrome version 77. Fixed several issues in the implementation of Actions API; Improved JavaScript code execution and ...
Read more >
Selenium WebDriver capabilities for running tests on ...
Required if you want to capture browser console logs at various steps in your test. Console Logs are available for Selenium tests on...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found