我正在使用量角器。我知道量角器有類似於語法的Jquery,但我需要一些可以在我的一些測試中基於DOM元素創建條件,變量和循環的東西。我想能夠使用querySelector。僅僅使用承諾不會讓我做我需要做的那種測試。爲什麼我不能在量角器中使用querySelector?
當我運行它,它說:
Failed: Cannot read property 'querySelector' of undefined
或
Failed: document is not defined
或
Failed: window is not defined
我已經建立了一個測試,測試這個問題。它運行我正在看的一個隨機的網頁。它使用量角器選擇頁腳,然後使用querySelector嘗試它。如果我在控制檯中輸入querySelector部分,它將正確運行代碼。我也嘗試了querySelector的變體,使用window.document;這也適用於瀏覽器,但不適用於量角器。
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);
});
});
如果我需要在沒有承諾的情況下查找DOM元素,該怎麼辦? – munchschair
這是不可能的,這就是'WebDriver'的工作方式,你可以用它做什麼,對不起 – Nhor
很高興知道,謝謝! – munchschair