javascript - JS:用脚本填充输入时启动搜索
问题描述
我正在尝试将音乐列表从应用程序传输到 Spotify。我得到了一系列歌曲(如 [ Hold On To Me Placebo
,Come 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();
有2个问题:
- 当输入字段中的值发生变化时,搜索不起作用:页面上的内容与填充前保持不变;
- 即使我自己键入某首歌曲的名称,它也会返回未定义的值
menu
和变量。like
解决方案
问题1:不清楚您的意思是“搜索不起作用:页面上的内容与填充之前相同”。如果您指的是输入的值,这是因为您首先将歌曲的值放在那里,然后在 2 行之后使用指令将其清除inputField.value = '';
。如果您删除,一切都会更新。
问题 2,可能是类名,并且该react-contextmenu
函数适用于选择器(请参阅此处https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors)。在这种情况下,您应该以这种方式更改对菜单和变量的赋值react-contextmenu-item
querySelectorAll
let menu = document.querySelectorAll('.react-contextmenu')[0];
let like = document.querySelectorAll('.react-contextmenu-item')[1];
看到这个小提琴
推荐阅读
- amazon-web-services - AutoScale - 白天的 ScaleOUT 和晚上的 ScaleIN?
- flutter - Dart 零安全性打破了未来
匿名方法? - autocomplete - 如何从谷歌自动完成位置 api 中删除标记并由谷歌图像提供支持
- python - 上传窗口打开。需要通过python输入文件路径
- swiftui - 如何将我的登录屏幕链接到我的主屏幕 SwiftUI
- jquery - 如何在 jQuery 中删除文件时显示加载器?
- android-studio - 为什么 Android Studio 北极狐无法同步我的项目
- terraform - 如果条件在 terraform 中
- python - 我正在制作一个打字机器人(discord.py)
- c# - 使用 ClosedXML 和 OpenFileDialog 将 Excel 导入 DataGrid