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';

    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);
    }

    window.addEventListener('load', function() {
        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])
    });
})();