整合營銷服務商

          電腦端+手機端+微信端=數(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| 国产亚洲福利一区二区免费看 | 精品国产一区二区二三区在线观看| 秋霞无码一区二区| 日韩精品无码免费一区二区三区| 国产精品亚洲午夜一区二区三区| 亚洲av成人一区二区三区在线播放| 亚洲国产欧美日韩精品一区二区三区 | 福利一区在线视频| 久久亚洲中文字幕精品一区| 国产精品伦一区二区三级视频| 中文字幕亚洲综合精品一区| 国产在线不卡一区| 看电影来5566一区.二区| 韩国一区二区视频| 夜夜添无码一区二区三区| 亚洲熟女综合色一区二区三区| 国产一区二区三区在线| 在线观看中文字幕一区| 亚洲一区二区电影| 暖暖免费高清日本一区二区三区| 国产一区高清视频| 精品人无码一区二区三区| 波多野结衣中文字幕一区| 91国偷自产一区二区三区| 成人国内精品久久久久一区| 国产精品无码一区二区在线观| 免费在线视频一区| 国精产品一区一区三区有限公司| 国产精品视频一区二区噜噜| 精品国产一区在线观看 | 日本一区二区在线不卡| 免费一本色道久久一区| 人妻视频一区二区三区免费| 久久久精品人妻一区二区三区蜜桃| 美女福利视频一区二区| 国产一区二区三区不卡在线观看| 亚洲国产AV一区二区三区四区 | 丰满爆乳无码一区二区三区|