Why can't I use querySelector in protractor?

Viewed 3526

I am using protractor. I understand that protractor has Jquery like syntax but I need something that can create conditions, variables and loops based on DOM elements in some of my testing. I want to be able to use querySelector. Using just promises won't let me do the kind of testing I need to do.

When I run it, it says:

Failed: Cannot read property 'querySelector' of undefined

or

Failed: document is not defined

or

Failed: window is not defined

I've set up a test to test this issue. It runs off a random web page that I was looking at it. It selects the footer using protractor and then attempts it using querySelector. If I enter the querySelector portion in the console, it runs the code correctly. I've also tried variations of querySelector, using window.document; this also works in the browser but not in protractor.

describe("Test", function()
{
  it('This is a test to test protractor' , function()
  {
    browser.waitForAngularEnabled(false);
    browser.get("https://facebook.github.io/jest/");
    $("#footer").getAttribute("innerHTML").then( function(value)
    {
      console.log("inside value then");
      console.log(value);

    });

    var queryse = document.querySelector("#footer").innerHTML;
    // var queryse = browser.document.querySelector("#footer").innerHTML;
    // var queryse = window.document.querySelector("#footer").innerHTML;

    console.log('query selector');
    console.log(queryse);
  });

});

enter image description here

2 Answers
Related