JS:用脚本填充输入时启动搜索



我正试图将音乐列表从应用程序转移到Spotify。我得到了一系列歌曲(如[Hold On To Me PlaceboCome Undone Placebo]等(,并试图以这种方式自动点赞歌曲:

let inputField = document.getElementsByClassName('_2f8ed265fb69fb70c0c9afef329ae0b6-scss')[0];
let menu = document.querySelectorAll('react-contextmenu')[0];
let like = document.querySelectorAll('react-contextmenu-item')[1];
function addSong() {
for (song of arrOfSongs) {
inputField.value = song;
menu.click();
like.click();
inputField.value = '';
}
}
addSong();

有两个问题:

  1. 当输入字段中的值发生更改时,搜索不起作用:页面上的内容与填充前保持不变
  2. 即使我自己键入某首歌的名称,它也会将menulike变量的值返回为未定义

问题1:不清楚您对"搜索不起作用:页面上的内容与填充之前保持不变;。如果你指的是输入的值,这是因为你首先把一首歌的值放在那里,然后在两行后用指令inputField.value = '';清除它。如果删除,则所有内容都将更新。

问题2,可能react-contextmenureact-contextmenu-item是类名,querySelectorAll函数与选择器一起工作(请参阅此处https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors(。在这种情况下,您应该以这种方式更改菜单和类似变量的分配

let menu = document.querySelectorAll('.react-contextmenu')[0];
let like = document.querySelectorAll('.react-contextmenu-item')[1];

看看这个小提琴

最新更新