如何解决如何使用Chrome扩展程序的内容脚本绕过登录表单khanAcademy
我正在编写一个Chrome扩展程序,以绕过khanAcademy的登录表单。我是为office365和udemy做的,但涉及khanAcademy时,我遇到了一个问题,即主页上的按钮被禁用,即使从元素中删除了“ disabled”属性,我也无法使用按钮的click事件。 。这是我的内容脚本的代码片段
......
// KHAN ACADEMY
const loginKhanAcademy = async(user) => {
let usernameField = await waitForItem('#uid-identity-text-field-0-email-or-username')
usernameField.value = user.email
let passwordField = await waitForItem('#uid-identity-text-field-1-password')
passwordField.value = user.password
let loginButton = await waitForItem('[data-test-id="log-in-submit-button"]')
loginButton.click()
}
// WAIT FOR ITEM TO BE LOADED COMPLETELY
const waitForItem = (selector) => {
return new Promise((resolve,reject) => {
setTimeout(() => {
reject('Cannot load element')
},8000);
let el = document.querySelector(selector);
if (el) { resolve(el); }
new MutationObserver((mutationRecords,observer) => {
// Query for elements matching the specified selector
Array.from(document.querySelectorAll(selector)).forEach((element) => {
resolve(element);
//Once we have resolved we don't need the observer anymore.
observer.disconnect();
});
})
.observe(document.documentElement,{
childList: true,subtree: true
});
});
}
......
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。