当前位置: 首页 > 面试题库 >

为什么我不能使用javascript清除输入字段?

桓风史
2023-03-14
问题内容

我想清除并更改给定URL上的输入值。我使用的js不会执行任何操作,也不会导致任何错误。为什么会发生这种情况,我该如何解决?

@Test
public void clearField() throws Exception {
    String url = "https://sfbay.craigslist.org/search/pen/apa?hasPic=1&search_distance=25&" +
            "postal=94014&nh=75&nh=80&min_price=1500&max_price=2500&bedrooms=1&bathrooms=1";
    //url = "https://sfbay.craigslist.org/search/pen/apa?housing_type=1";//Clear & set value works with this url.
    browser.get(url);

    WebElement element = browser.findElement(By.name("search_distance"));
    String char_sequence = "10";

    //Clear the field
    send_keys_v2(element, "");
    //Re write the field
    send_keys_v2(element, char_sequence);
}

public void send_keys_v1(WebElement element, String char_sequence) {
    ((JavascriptExecutor) browser).executeScript("arguments[0].value='" +
            char_sequence + "';", element);
}

public void send_keys_v2(WebElement element, String char_sequence) {
    ((JavascriptExecutor) browser).executeScript("arguments[0].setAttribute=('value', '" +
            char_sequence + "');", element);
}

问题答案:

一个可能且可能的答案是,在尝试清除的元素之前,您还有另一个具有相同名称的元素。

请检查html并检查是否找到多个元素,然后采用第一个。

另外,您可以使用css选择器,例如:

.searchInput[name*=search_distance]


 类似资料:
  • 问题内容: 我在下面使用一个变量。 这由我的输入字段使用。 激活后,我想清除我的输入字段。但是,我不确定该怎么做。 另外,如本例所示,有人指出我应该将属性用于输入值。我还不清楚这到底意味着什么。在这种情况下有什么意义? 问题答案: 您可以使用输入类型=“重置”

  • 问题内容: 我们可以看到“幻影可达”和“不可可达”一样:§ 如果对象既不是强的,软的也不是弱的,并且已被终结,则它是幻影可到达的,并且某些幻像引用引用了该对象。 最后,当对象无法通过上述任何一种方式到达时,它是不可到达的,因此有资格回收。 现在,来自:http : //download.oracle.com/javase/6/docs/api/java/lang/ref/PhantomRefere

  • 我试图导入PyAudio,但它总是给我一个错误。如果我的电脑有问题,我使用的是Windows64x和Python3.9.4。以下是错误:

  • 问题内容: 我想12”3在我的输入标签值中显示 我写这个: 但这是不对的 为什么呢? PS:我必须转移”到",或更改”到’?我不喜欢 问题答案: HTML根本没有像其他语言一样具有转义序列。在HTML属性值中,唯一的特殊字符是,取决于引号”或’。唯一使用这些字符的是字符引用: 一些作者使用字符实体引用“ ;”来编码双引号(”)的实例,因为该字符可用于定界属性值。 或者,您使用单引号,则无需编码双引

  • 问题内容: 我想清除表单中的文件输入。 我知道将源设置为相同的方法…但是该方法不会删除所选的文件路径。 注意 :我希望避免重新加载页面,重置表单或执行AJAX调用。 这可能吗? 问题答案: 如何删除该节点,创建一个具有相同名称的新节点?

  • 我的问题是为什么找不到“name”字段?