微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Chrome扩展程序的内容脚本绕过登录表单khanAcademy

如何解决如何使用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 举报,一经查实,本站将立刻删除。