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

如何使用JSDOM聚焦/单击YouTube的注释框

如何解决如何使用JSDOM聚焦/单击YouTube的注释框

1。上下文

我正在创建browser extension to enhance YouTube's keyboard navigation。我想到的快捷方式之一是评论 1

1:我目前正在使用Dart,但它模仿JS,以后无论如何都会被转译为JS。

2。我尝试过的

YouTube使用了许多自定义HTML元素,因此我尚不清楚什么有效以及何时起作用,最终我不得不对每次遇到自定义标签的情况进行反向工程。>

我基本上已经尝试过类似这样的事情:

document.querySelector('#labelAndInputContainer > div').click();

我应该改focus()吗?

div#labelAndInputContainer元素一旦获得焦点,就会获得一个名为focused的新类。

3。其他可选挑战

最后一部分的讨论已重定向this other question

首先,YouTube不会在视频下方加载评论部分。仅当您向下滚动时,注释部分才会出现 2 。那么,如何确定哪个事件触发了评论部分的加载?我该如何人为地发送它? —否则,注释框的HTML元素将不存在。

我一直在使用getEventListeners()来确定哪些事件在哪些元素上起作用。

2:另一个示例是YouTube页面重新加载/导航到另一个页面,该页面yt-navigate-start触发。


您可能已经注意到,我不是JS专家,所以请随时了解基础知识或给我新手提示

解决方法

当前,您可以使用其ID专注于评论输入:

document.getElementById("simplebox-placeholder").focus();

但是,只有当您向下翻页并等待其加载时,它才会加载。因此,请向下翻页并等待一段时间。

此外,根据窗口的宽度,您可能需要多次向下翻页。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。