自定义 Google Meet 布局的书签

问题描述 投票:0回答:0

我在 Surface 平板电脑上使用 Google Meet 进行演示。 我所做的是用平板电脑和连接到投影仪的台式电脑创建会议,然后共享平板电脑屏幕。

在桌面 PC 上设置 Google Meet 既费时又无聊。因此,我想使用书签自动执行以下任务:

  1. 关闭麦克风和摄像头。
  2. 键入客人姓名。
  3. 点击“要求加入”。
  4. 暂停 10 秒,平板电脑接受请求。
  5. 设置“聚光灯”布局和全屏。

到目前为止,这是我基于 chrome 的浏览器的代码。

javascript: (() => {
    document.querySelector('[data-tooltip="Turn off camera (ctrl + e)"]').click();
    document.querySelector('[data-tooltip="Turn off microphone (ctrl + d)"]').click();
    document.querySelector('[placeholder="Your name"]').value = "Desk PC";
    join=document.evaluate("//button[contains(., 'Ask to join')]", document, null,
               XPathResult.ANY_TYPE, null).iterateNext();
    join.disabled = false;
    join.click();
    setTimeout(function() {
    document.querySelector ('button[aria-label="More options"]').click()
    document.evaluate("//span[contains(., 'Change layout')]", document, null,
               XPathResult.ANY_TYPE, null).iterateNext().click();
    document.querySelector ('input[value="Spotlight"]').click()
    }, 10000);        
})();

我的基本问题是将密钥发送到浏览器。 通过实际打字,当我在输入元素中写入“Desk PC”时,会检测到事件并激活加入按钮。 如果我设置元素值:

document.querySelector('[placeholder="Your name"]').value = "Desk PC";

加入按钮未启用。理论上,我可以手动启用并单击它:

join.disabled = false;
join.click();

但是 Meet 将此检测为错误模式并给出错误。 我想,我应该用

dispatchEvent()
模拟发送击键(这也将用于发送
Esc
以退出 Meet 布局菜单)。但是,我缺少函数的逻辑。例如,对于 Stackoverflow 页面,我希望有以下代码:

var evt=new KeyboardEvent('keydown', { key: "a" });
input=document.querySelector(".s-input__search");
input.dispatchEvent(evt)

向 SO 搜索框发送一个“a”,但事实并非如此。

有什么帮助吗?

javascript keyboard-events bookmarklet google-meet
© www.soinside.com 2019 - 2024. All rights reserved.