如何在Nightwatch中使用jquery

问题描述 投票:2回答:1

我有文字我需要在夜视仪上执行htmlEndcoding。我找到了一个解决方案,但它需要使用jquery。我无法弄清楚如何在Nightwatch中访问jquery。

我发现以下htmlEncode这看起来像我可以使用的东西,但我不知道如何将它包含在夜间表中。我得到'$'未定义。我可以看到这是用于jquery但我不知道如何在夜视仪中使用jquery。

function htmlEncode(value){
// Create a in-memory div, set its inner text (which jQuery automatically encodes)
// Then grab the encoded contents back out. The div never exists on the page.
  return $('<div/>').text(value).html();
}

function htmlDecode(value){
  return $('<div/>').html(value).text();
}

我还找到了How to write a nightwatch custom command using jquery,但它附带了一个警告:'请注意,你确实需要在应用程序的全局范围内提供jQuery才能实现这一点。 ......我不知道该怎么做。

我是一名java程序员,我是夜间守卫和javascript的新手。似乎我应该能够通过客户端或api进入jquery,但我无法弄清楚如何做到这一点。

尝试了以下几个版本:

npm install jQuery

var $ = require('jquery');

var $ = require('jQuery');


var jsdom = require('jsdom').jsdom
 , myWindow = jsdom().createWindow()
 , $ = require('jQuery')
 , jq = require('jQuery').create()
 , jQuery = require('jQuery').create(myWindow)
 ;
jquery nightwatch.js
1个回答
2
投票

如果你的网络应用程序中有一个Jquery,如:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/core.js"></script>

然后你可以这样做:

const jqueryCheck = function (browser){

    browser.execute(function (data, done) {

             return $("[href!=''][href]");
    }, [e], function(e){

            browser.verify.elementPresent(e[0],"Explanation...")

    })
}
© www.soinside.com 2019 - 2024. All rights reserved.