_meticulous_ 2025-01-09 23:55 采纳率: 0%
浏览 19

油猴脚本实现bilibili自动宽屏模式失败

我在油猴里面使用以下代码想实现点开bilibili视频可以自动点击“宽屏模式”,但是没有效果,如何处理

// ==UserScript==
// @name         Bilibili 自动点击宽屏模式
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  在Bilibili视频中自动点击宽屏模式按钮
// @author       You
// @match        https://www.bilibili.com/video/*
// @grant        none
// @run-at       document-end  // 确保脚本在文档加载后执行
// ==/UserScript==

(function() {
    'use strict';

    // 等待页面加载完成
    window.addEventListener('load', function() {
        // 给页面加载一些时间,确保视频播放器渲染完成
        setTimeout(function() {
            // 查找“宽屏模式”按钮
            const widescreenButton = document.querySelector('.bpx-player-ctrl-btn bpx-player-ctrl-wide');

            // 如果按钮存在,模拟点击
            if (widescreenButton) {
                widescreenButton.click();
            }
        }, 5000); // 等待5秒钟,确保视频加载完成并且按钮可以点击
    });
})();


  • 写回答

6条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-01-10 00:01
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    问题解答如下: 这段代码是一个油猴脚本,用于在Bilibili视频中自动点击“宽屏模式”按钮。但是可能有几个原因导致代码无效:
    1. 没有正确找到“宽屏模式”按钮,可能是选择器错误或者按钮元素在页面加载完毕后才出现。
    2. 页面加载完成后等待时间不够长,导致按钮元素还没出现就执行点击操作。
    3. 油猴脚本在运行时遇到了权限问题,导致无法模拟点击操作。 为了解决这个问题,我们可以尝试以下方法:
    4. 确保选择器正确并且按钮元素确实存在于页面中。
    5. 增加等待时间,确保按钮元素已经加载完成。
    6. 修改油猴脚本的权限设置,尝试不同的权限设置来解决点击操作权限问题。 下面是对代码的一些优化,包括增加等待时间和修改选择器:
    // ==UserScript==
    // @name         Bilibili 自动点击宽屏模式
    // @namespace    http://tampermonkey.net/
    // @version      0.2
    // @description  在Bilibili视频中自动点击宽屏模式按钮
    // @author       You
    // @match        https://www.bilibili.com/video/*
    // @grant        none
    // @run-at       document-end
    // ==/UserScript==
    (function() {
        'use strict';
        
        // 等待页面加载完成
        window.addEventListener('load', function() {
            // 给页面加载一些时间,确保视频播放器渲染完成
            setTimeout(function() {
                // 查找“宽屏模式”按钮
                const widescreenButton = document.querySelector('.bilibili-player-video-btn-widescreen');
                // 如果按钮存在,模拟点击
                if (widescreenButton) {
                    widescreenButton.click();
                }
            }, 10000); // 等待10秒钟,确保视频加载完成并且按钮可以点击
        });
    })();
    

    在上述代码中,我们增加了等待时间为10秒,并且修改了选择器为.bilibili-player-video-btn-widescreen,以确保正确找到“宽屏模式”按钮。如果这个优化后的代码依然无效,建议进一步检查浏览器控制台是否有报错信息,以帮助定位问题并进行解决。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月9日