【0基礎開發油猴腳本】某漫畫網站圖片旋轉

有朋友在用某漫畫網站在線看漫畫,但是那個網站會把漫畫圖片右旋90度,如圖。

于是,他就像我發起了求助,問我能不能寫個腳本。我說,AI都發展到2025了,前端(腳本)這種東西還用自己寫嗎,我就用WPS的靈犀AI,2分鐘就把腳本寫好了。下面就以此為例,介紹一下AI來寫前端腳本的方法。

1、定位目標圖片元素

按F12打開瀏覽器開發者窗口,點擊左上角的定位功能。

此時,將鼠標指向目標圖片,就會在開發者窗口中定位到該元素。

右鍵選擇該元素,選擇復制,復制CSS選擇器

2、讓AI寫代碼

直接將復制的CSS 選擇器粘貼進來,然后問AI,“幫我寫油猴腳本,實現XXX的功能,目標元素的CSS Selector是XXXX”。

這個功能比較簡單,都無需修改,生成可直接使用。

// ==UserScript==
// @name         旋轉.img-content圖片90度
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  將指定CSS選擇器下的圖片向右旋轉90度
// @author       你自己
// @match        *://*/*  
// @grant        none
// ==/UserScript==(function() {'use strict';// 定義旋轉函數function rotateImages() {// 獲取所有.img-content內的圖片元素const images = document.querySelectorAll('.img-content img');images.forEach(img => {// 應用旋轉樣式(向右旋轉90度)img.style.transform = 'rotate(90deg)';// 可選:調整布局(旋轉后可能導致的布局問題)img.style.display = 'block';  // 避免行內元素間隙img.style.margin = '10px auto';  // 居中顯示img.style.maxWidth = '100%';  // 保持容器內寬度});}// 頁面加載完成后執行if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', rotateImages);} else {rotateImages();}// 可選:監聽動態加載的內容(如果頁面有異步加載圖片的情況)const observer = new MutationObserver(rotateImages);observer.observe(document.body, {childList: true,subtree: true,attributes: true,attributeFilter: ['src']  // 監聽圖片src變化});
})();

你也可以把目標網站告訴他,讓他來適配鏈接。比如

// ==UserScript==
// @name         百度頁面.img-content圖片旋轉90度
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  在百度頁面中將.img-content內的圖片向右旋轉90度
// @author       你自己
// @match        https://www.baidu.com/*  // 僅匹配百度域名下的頁面
// @grant        none
// ==/UserScript==(function() {'use strict';function rotateImages() {// 精確匹配百度頁面中的.img-content下的圖片const images = document.querySelectorAll('.img-content img');images.forEach(img => {// 應用向右旋轉90度(transform屬性)img.style.transform = 'rotate(90deg)';// 可選布局調整(根據百度頁面實際情況優化)img.style.display = 'block';      // 避免行內元素默認間隙img.style.margin = '10px auto';   // 水平居中img.style.maxWidth = '90%';       // 適配百度容器寬度(可根據實際調整)});}// 頁面加載完成后立即執行if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', rotateImages);} else {rotateImages();}// 監聽頁面動態加載的新內容(如百度搜索結果滾動加載圖片)const observer = new MutationObserver(rotateImages);observer.observe(document.body, {childList: true,    // 監聽子節點變化subtree: true,      // 監聽所有后代節點attributes: true,   // 監聽屬性變化attributeFilter: ['src']  // 重點監聽圖片src屬性變更(懶加載場景)});
})();

3、效果展示

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913168.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913168.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913168.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue Router 中,params參數的名稱必須與路由配置中的動態路徑參數名完全一致

路由配置與 params 參數的綁定關系 在路由配置中,使用 冒號(:) 定義動態路徑參數: // router.js(路由配置) { path: /search/:keyword, // 這里的:keyword是動態路徑參數 name: Search, component: S…

Spring Boot 應用開發實戰指南:從入門到實戰(內含實用技巧+項目案例)

📘 Spring Boot 應用開發實戰指南:從入門到實戰(內含實用技巧項目案例)🚀 你是否還在為 Spring 配置復雜、開發效率低下而苦惱?Spring Boot 早已成為 Java 后端開發的“標配”,本篇文章將帶你全…

【NLP入門系列五】中文文本分類案例

🍨 本文為🔗365天深度學習訓練營 中的學習記錄博客🍖 原作者:K同學啊 博主簡介:努力學習的22級本科生一枚 🌟?;探索AI算法,C,go語言的世界;在迷茫中尋找光芒…

【微信小程序】- 監聽全局globalData數據

【微信小程序】- 監聽全局globalData數據 數據劫持(Object.defineProperty)實現適用場景 數據劫持(Object.defineProperty) 實現 通過攔截 globalData 的屬性讀寫實現自動監聽,適合精確監聽特定變量。 ?實現步驟?&…

高速公路閑置土地資源化利用:廣西浦北互通3MW分布式光伏監控實踐

摘要: 分布式光伏項目在清潔能源轉型中扮演重要角色,其創新的空間利用模式有助于緩解能源開發與土地資源間的矛盾。廣西大唐至浦北高速公路(浦北互通)項目,利用高速公路沿線閑置空地建設光伏電站,發揮了分布…

【Linux網絡編程】網絡基礎

目錄 計算機網絡背景 初識協議 網絡協議 協議分層 OSI七層模型 TCP/IP五層(或四層)模型 再識協議 為什么要有TCP/IP協議? 什么是TCP/IP協議? 重談協議 網絡傳輸基本流程 局域網傳輸流程 跨網絡傳輸流程 Socket編程預備 理解源IP地址與目的…

BlenderBot對話機器人大模型Facebook開發

文章目錄 🚀 BlenderBot 的關鍵特性🧪 版本與改進📊 應用實例 Blender是攪拌機,果汁機,混合機的意思。 BlenderBot 是由 Facebook AI Research (FAIR) 開發的一種先進的對話生成模型。它旨在通過融合多種對話技能&…

60天python訓練計劃----day59

在之前的學習中,我們層層遞進的介紹了時序模型的發展,從AR到MA到ARMA,再到ARIMA。本質就是把數據處理的操作和模型結合在一起了,實際上昨天提到的季節性差分也可以合并到模型中,讓流程變得更加統一。 季節性差分用S來…

學習日志05 python

我相信事在人為,人定勝天,現在還是在基礎語法上面打轉,還是會提出一些很低級的很基礎的問題,不要著急,波浪式前進、螺旋式上升的過程吧,雖然現在的確是很絕望吧...... 今天要做一個練習:編寫猜…

LiteHub中間件之gzip算法

gzip算法理論部分LZ777算法霍夫曼編碼算法改進型的LZ777算法代碼實現壓縮對象gzip實現運行分析日志查看wireshark抓包查看后臺管理界面查看理論部分 gzip是一種無損壓縮算法,其基礎為Deflate,Deflate是LZ77與哈弗曼編碼的一個組合體。它的基本原理是&…

java+vue+SpringBoo校園失物招領網站(程序+數據庫+報告+部署教程+答辯指導)

源代碼數據庫LW文檔(1萬字以上)開題報告答辯稿ppt部署教程代碼講解代碼時間修改工具 技術實現 開發語言:后端:Java 前端:vue框架:springboot數據庫:mysql 開發工具 JDK版本:JDK1.…

Qt Quick 與 QML(五)qml中的布局

QML布局系統主要分為三大類:錨布局、定位器布局、布局管理器。一、錨布局(Anchors)通過定義元素與其他元素或父容器的錨點關系實現精確定位,支持動態調整。核心特性屬性??作用??示例?anchors.left左邊緣對齊目標元素anchors.…

【Java|集合類】list遍歷的6種方式

本文主要是總結一下Java集合類中List接口的遍歷方式&#xff0c;以下面的list為例&#xff0c;為大家講解遍歷list的6種方式。 List<Integer> list new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);文章目錄1.直接輸出2.for循環遍…

博弈論基礎-筆記

取石子1 性質一&#xff1a;12345可以確定先手贏&#xff0c;6不論取那個質數都輸&#xff0c;789 10 11可以分別取12345變成6 性質二&#xff1a;6的倍數一定不能取出之后還是6的倍數&#xff08;不能轉換輸態&#xff09; #include <bits/stdc.h> using namespace st…

多任務學習-ESMM

簡介 ESMM&#xff08;Entire Space Multi-task Model&#xff09;是2018年阿里巴巴提出的多任務學習模型。基于共享的特征表達和在用戶整個行為序列空間上的特征提取實現對CTR、CVR的聯合訓練 解決的問題 SSB&#xff08;sample selection bias&#xff09; 如下圖1所示&am…

K8S 集群配置踩坑記錄

系統版本&#xff1a;Ubuntu 22.04.5-live-server-amd64 K8S 版本&#xff1a;v1.28.2 Containerd 版本&#xff1a; 1.7.27 kubelet logs kuberuntime_sandbox.go:72] "Failed to create sandbox for pod" err"rpc error: code Unknown desc failed to cre…

超濾管使用與操作流程-實驗操作013

超濾管使用與操作流程 超濾管&#xff08;或蛋白濃縮管&#xff09;是一種重要的實驗設備&#xff0c;廣泛應用于分離與純化大分子物質&#xff0c;尤其是蛋白質、多糖和核酸等。其工作原理依賴于超濾技術&#xff0c;通過半透膜對分子進行篩分&#xff0c;精準地將大分子物質…

GitHub已破4.5w star,從“零樣本”到“少樣本”TTS,5秒克隆聲音,沖擊傳統錄音棚!

嗨&#xff0c;我是小華同學&#xff0c;專注解鎖高效工作與前沿AI工具&#xff01;每日精選開源技術、實戰技巧&#xff0c;助你省時50%、領先他人一步。&#x1f449;免費訂閱&#xff0c;與10萬技術人共享升級秘籍&#xff01;你是否為錄音成本高、聲音不靈活、又想為多語言…

【中文核心期刊推薦】《遙感信息》

《遙感信息》&#xff08;CN&#xff1a;11-5443/P&#xff09;是一份具有較高學術價值的雙月刊期刊&#xff0c;自創刊以來&#xff0c;憑借新穎的選題和廣泛的報道范圍&#xff0c;兼顧了大眾服務和理論深度&#xff0c;深受學術界和廣大讀者的關注與好評。 該期刊創辦于1986…

uniapp微信小程序css中background-image失效問題

項目場景&#xff1a;提示&#xff1a;這里簡述項目相關背景&#xff1a;在用uniapp做微信小程序的時候&#xff0c;需要一張背景圖&#xff0c;用的是當時做app的時候的框架&#xff0c;但是&#xff0c;在class的樣式中background-image失效了&#xff0c;查了后才知道&#…