这是我在Chrome浏览器控制台中使用的代码:
document.querySelector('input').value = 'Some URL';
代码运行时没有任何错误。但是,输入的值不会更新。输入显示相同的旧值。我可以使用
轻松点击按钮document.querySelector('button[value="true"]').click();
那么,为什么这些值没有更新?
更新:我正在使用此代码here。在评论代码有效之前,请在我链接的页面上尝试。
更新2:我也无法使用for循环一次调试多个URL。这是我的代码:
for(var i=0;i<50;i++){
setInterval(function () {
var url = 'http://myurl/goes/here/?n=' + i;
console.log(url);
document.querySelector('input.inputtext').value = url;
document.querySelector('button[value="true"]').click();
}, 10000);
}
但是,它将输入值设置为http://myurl/goes/here/?n=49
,然后仅使用该值重新加载页面一次。我想要的是在每次更新网址后重新加载页面,以便可以立即抓取所有网址。
答案 0 :(得分:0)
根据您提供的代码,看起来您的目标是错误的元素(即顶部的搜索框而不是主<input />
元素),如下面代码的结果所示: / p>
您可以通过在querySelector()
函数中使您的选择器更具体来定位相应的元素来解决此问题:
document.querySelector('input.inputtext').value = 'Some URL';
答案 1 :(得分:0)
看起来可能会有另一个INPUT元素存在于您希望更新的元素之前。
返回文档中的第一个元素(使用文档节点的深度优先预先遍历遍历|文档标记中的第一个元素,并按子节点数量的顺序迭代顺序节点)与指定的选择器组匹配
因此,尝试通过给输入元素指定唯一的id或类来更具体。