Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用nightwatch框架清除字段?_Javascript_Selenium_Nightwatch - Fatal编程技术网

Javascript 如何使用nightwatch框架清除字段?

Javascript 如何使用nightwatch框架清除字段?,javascript,selenium,nightwatch,Javascript,Selenium,Nightwatch,我试图用不同的方法清除输入字段: clearValue()-不工作 发送一些组合ok键-不起作用 您是否尝试过清除值,设置空值? 像这样 .setValue('field', '') 您是否尝试过使用Webriver键命令删除输入 在我的项目中,我是这样做的: for (let i = 0; i < amountChars; i++) { browser.keys(WEBDRIVER_KEYS['Backspace']); } for(设i=0;

我试图用不同的方法清除输入字段:

  • clearValue()-不工作
  • 发送一些组合ok键-不起作用

  • 您是否尝试过清除值,设置空值? 像这样

    .setValue('field', '')
    

    您是否尝试过使用Webriver键命令删除输入

    在我的项目中,我是这样做的:

    for (let i = 0; i < amountChars; i++) {
                browser.keys(WEBDRIVER_KEYS['Backspace']);
            }
    
    for(设i=0;i

    WEBDRIVER\u KEYS是spectron KEYS npm软件包的一部分。

    我有以下代码适用于我

    .setValue('field, [
        browser.Keys.CONTROL,
        "a",
        browser.Keys.DELETE,
      ])
    

    我制作了一个自定义命令,如下所示:

     this.waitForElementVisible(fieldSelector)
            .execute(
                function (fieldSelector) {
                    const field = document.querySelector(fieldSelector);
                    field.value = null;
                },
                [fieldSelector]
            );
    
    browser.clearField(fieldSelector)
    
    然后在测试文件中,我只是这样称呼它:

     this.waitForElementVisible(fieldSelector)
            .execute(
                function (fieldSelector) {
                    const field = document.querySelector(fieldSelector);
                    field.value = null;
                },
                [fieldSelector]
            );
    
    browser.clearField(fieldSelector)
    

    对我来说,这就像一种魅力:

    browser.getValue('css selector', '#id', (textValue) => {
            for(let i = 0; i < textValue.value.length; i ++) {
                this.setValue('#id', '\u0008'); 
            }
    });
    
    browser.getValue('css选择器','#id',(textValue)=>{
    for(设i=0;i
    我必须想出这样一个解决方案,因为提供的任何一个都不适合我

    browser.clearValue('yourTargetFieldSelector')
    
    因此,在使用页面对象的情况下:

    yourPageObjectInstance.clearValue('@yourTargetFieldSelector')
    
    .getValue('input[name=“name”]”,函数(result){console.log(result.value);(新数组(result.value.length)).fill().forEach(()=>{browser.keys(browser.keys.BACK_SPACE)});它对我有效