weihl_test

open one's eyes to see the world.

目前為 2024-10-17 提交的版本,檢視 最新版本

// ==UserScript==
// @name         weihl_test
// @namespace    http://tampermonkey.net/
// @version      V0.1
// @description  open one's eyes to see the world.
// @author       weihule
// @match        https://pmos.sd.sgcc.com.cn:18080/trade/main/index.do*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant        none
// @license      AGPL-3.0
// ==/UserScript==

(function() {
    'use strict';

    window.addEventListener('load', function() {

        function doMYExport() {
            let iframe = document.getElementsByClassName('container-fluid')[2].querySelector('iframe');
            console.log('进入 iframe 时未报错')
    
            let iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
            console.log('这里也没报错')
    
            setTimeout(function() {
                let dialog_header = iframeDocument.getElementsByClassName('modal-dialog modal-lg')[1].getElementsByClassName('modal-content')[0].getElementsByClassName('modal-header')[0];
                dialog_header.getElementsByClassName('close')[0].click();
            }, 3000);
    
            // 定位数据表单控件
            iframeDocument.getElementsByClassName('dataTables_scroll')[0]
            const table = iframeDocument.querySelector('.dataTables_scrollBody table');
            const headers = [];
            const headerCells = table.querySelectorAll('thead th');
            headerCells.forEach(cell => {
                headers.push(cell.textContent.trim());
            });
            const data = [];
            const rows = table.querySelectorAll('tbody tr');
            rows.forEach(row => {
                const rowData = [];
                const cells = row.querySelectorAll('td');
                cells.forEach(cell => {
                    rowData.push(cell.textContent.trim());
                });
                data.push(rowData);
            });
    
            console.log('表头:', headers);
            console.log('数据:', data);
        }

        let iframe = document.getElementsByClassName('container-fluid')[2].querySelector('iframe');
        console.log('进入 iframe 时未报错')

        let iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
        console.log('这里也没报错')

        document.getElementsByClassName('nav-item modulemenu')[2].querySelector('a').click()

        let targetParentDiv = iframeDocument.getElementsByClassName('paper-top');
        let secondChildDiv = iframeDocument.getElementsByClassName('fbutton paperBut');

        // 创建新的 div
        let newDiv = iframeDocument.createElement('div');
        newDiv.className = 'customDiv';
        newDiv.style.marginTop = '5px';
        // newDiv.style.width = '90px'

        const button = iframeDocument.createElement('button');
        button.type = 'button';
        button.className = 'btn btn-primary hover';
        button.textContent = '导出-明阳';
        button.setAttribute('onclick', doMYExport());

        // 将按钮添加到新创建的 div 中
        newDiv.appendChild(button);
        
        targetParentDiv[0].insertBefore(newDiv, secondChildDiv[0])
    });
})();