整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          Drissionpage實戰(zhàn),自動登錄后新彈出瀏覽器窗口的處理

          天繼續(xù)使用Drissionpage框架來實現(xiàn)內(nèi)部系統(tǒng)的網(wǎng)頁自動化處理,編碼過程中碰到2個新問題,記錄一下解決方法:

          自動登錄后新彈出瀏覽器窗口的獲取

          自動輸入賬號和密碼登錄的代碼非常簡單,如下所示:

          from DrissionPage import WebPage,ChromiumOptions
          
          co=ChromiumOptions()
          page=WebPage(chromium_options=co)
          page.set.window.max()
          page.get("http://xxx:8080")
          # 輸入賬號密碼,自動登錄
          page.ele("#userName").input("zhangsan")
          page.ele("#userPwd").input("123456")
          page.ele(".formsubmit").click()
          # 點擊待辦任務圖標
          page.ele("#daiban").ele("tag:img").click()

          但是在系統(tǒng)首頁面點擊待辦任務圖標時,一直報錯:無法定位元素。根據(jù)瀏覽器開發(fā)者工具元素定位確認沒有問題,調(diào)試跟蹤發(fā)現(xiàn)點擊待辦任務圖標時page對象中的html竟然是登錄界面的腳本,才發(fā)現(xiàn)系統(tǒng)首頁在新彈出的一個瀏覽器窗口中。

          經(jīng)過多次嘗試,發(fā)現(xiàn)Drissionpage獲取新彈出瀏覽器頁面page的一種簡便操作,直接get頁面的url即可。修改代碼如下:

          # 點擊待辦任務圖標
          page.get("http://xxx:8080/sword?ctrl=Mh001LoginCtrl_openWin")
          page.ele("#daiban").ele("tag:img").click()

          具有多個類的網(wǎng)頁元素的獲取

          另外,在處理具有多個類的網(wǎng)頁元素時,精確匹配類名查找會定位不到,如以下類名:

          class="sGrid_data_row_div  sGrid_data_row_div_dan   "

          調(diào)試跟蹤中發(fā)現(xiàn),類名中間的空格發(fā)生變化導致,查找Drissionpage官網(wǎng)說明,有模糊匹配的方法,則可以輕松搞定。

          items=page.eles('.:sGrid_data_row_div')

          使用過程中感覺Drissionpage定位網(wǎng)頁元素的方法齊全,寫法簡練。

          擊右上方紅色按鈕關注“小鄭搞碼事”,每天都能學到知識,搞懂一個問題!

          大家好!我是/小鄭搞碼事/的小鄭

          今天和大家分享一下JS如何操作瀏覽器窗口。只講如何打開一個新窗口

          先來看效果圖

          上面這個圖界面效果就是我們要實現(xiàn)的。

          我們常常需要創(chuàng)建一個新窗口,用來向用戶顯示額外的信息,同時又避免他們正在閱讀的信息消失。從實現(xiàn)方案上來看,盡管我們可以用HTML打開一個新的瀏覽器窗口,但是使用JavaScript可以對新窗口的內(nèi)容和特性進行更多的控制。

          接下來,我們看一下怎么實現(xiàn)的

          一、定義窗口打開函數(shù)

          定義一個打開新窗口的函數(shù)newWindow。如上面代碼所示,變量catWindow包含一個新的窗口對象,這個對象引用圖像文件icon.png,這個新窗口的名稱是catWin,必須設置名稱,因為我們以后可能希望在a或另一個腳本中引用這個窗口。新窗口的寬度是350像素,高度是260像素,位置是左邊400,上邊400。

          二、寫一個調(diào)用函數(shù)

          頁面中,包含一個onload事件處理程序,它調(diào)用newWinLinks函數(shù),newWinLinks循環(huán)遍歷頁面上的a,檢查是否有任何a包含class屬性值newWin。如果有,就設置這個a元素的onclick事件處理程序,從而,當點擊這個a時,調(diào)用newWindow函數(shù)。

          總結一下

          需要注意兩個地方:

          1、newWindow中,在寬度和高度參數(shù)中的逗號之間不能有任何空格,如果有空格,那么腳本可能在某些瀏覽器中無效,總地來說,當腳本出現(xiàn)錯誤,需要進行高度時,要首先查找這樣的小問題。

          2、比如向窗口中添加參數(shù)時,希望窗口具有工具欄,地址欄,滾動條

          toolbar=yes,location=yes,scrollbars=yes
          

          參數(shù)默認是no,可以不填。當然瀏覽器上表現(xiàn)也有不同,需要知道。

          何網(wǎng)頁中彈出選項自動選擇,比如在看一個視頻,看完后會彈出一個小窗口,需要點擊小窗口中的一個選項才能繼續(xù)播放下一個視頻,自動化完成這個動作而不需要手動點擊


          為了實現(xiàn)這個功能,可以使用 JavaScript 和瀏覽器的開發(fā)者工具。這里是一個簡單的步驟,可以幫助實現(xiàn)自動點擊網(wǎng)頁上的選項。

          1. 打開需要自動化點擊的網(wǎng)頁。
          2. 打開瀏覽器的開發(fā)者工具。在大多數(shù)瀏覽器中,可以按 F12 鍵或者右鍵單擊頁面并選擇“檢查元素”。
          3. 切換到“Elements”(元素)選項卡,找到彈出窗口中需要自動點擊的選項的 HTML 代碼。通常,它會是一個 <button>、<a> 或 <input> 元素。可能需要等待彈出窗口出現(xiàn)后才能找到相關元素。
          4. 選中該元素,并右鍵單擊,選擇“Copy”(復制)> “Copy selector”(復制選擇器)。這將生成一個 CSS 選擇器,用于定位該元素。
          5. 切換到“Console”(控制臺)選項卡,然后輸入以下代碼:

          javascript

          function autoClick() {
            const selector = 'PASTE_YOUR_CSS_SELECTOR_HERE';
            const button = document.querySelector(selector);
            if (button) {
              button.click();
            }
          }
          
          const interval = 5000; // 檢查并嘗試點擊的時間間隔(毫秒)
          setInterval(autoClick, interval);
          

          將 PASTE_YOUR_CSS_SELECTOR_HERE 替換為剛剛復制的 CSS 選擇器。可以根據(jù)需要調(diào)整 interval 變量的值。

          1. 按回車鍵運行代碼。這將每隔一段時間(由 interval 變量確定)嘗試自動點擊彈出窗口中的選項。

          請注意,這種方法并不適用于所有網(wǎng)站,因為有些網(wǎng)站可能使用了復雜的結構或防止自動化操作的措施。在這種情況下,可能需要使用更高級的自動化工具,例如 Selenium WebDriver 或 Puppeteer。


          主站蜘蛛池模板: 性色AV一区二区三区| 呦系列视频一区二区三区| 中文字幕一区二区人妻| 嫩B人妻精品一区二区三区| 制服中文字幕一区二区| 久久99国产精一区二区三区| 亚洲av综合av一区| 一本久久精品一区二区| 色欲AV无码一区二区三区| 一区二区视频在线免费观看| 国产精品无码AV一区二区三区| 老熟女高潮一区二区三区| 在线观看精品视频一区二区三区| 无码人妻精品一区二区三区99不卡 | 99精品高清视频一区二区| 久久国产精品最新一区| 亚洲AV无码国产精品永久一区| 亚洲AV无码一区二区三区国产| 三上悠亚一区二区观看| 无码人妻一区二区三区免费手机 | 精品视频一区二区观看| 亚洲无线码一区二区三区| 亚州AV综合色区无码一区| 精品人妻少妇一区二区三区在线| 精品人妻AV一区二区三区| 日本韩国黄色一区二区三区 | 高清一区二区在线观看| 国产丝袜美女一区二区三区| 无码人妻aⅴ一区二区三区有奶水| 精品亚洲一区二区三区在线播放| 精品无码av一区二区三区| 国产AⅤ精品一区二区三区久久 | 日本精品少妇一区二区三区| 3d动漫精品啪啪一区二区中文 | 国产主播一区二区| 免费一区二区无码视频在线播放 | 国产亚洲日韩一区二区三区 | 一区二区三区在线看| 一区二区三区高清| 久久久久人妻精品一区蜜桃| 一区视频免费观看|