現效果—視頻鏈接:
前端css學習,移動效果的實現
https://www.ixigua.com/i7009992743401292325/
習使用國產網頁自動化工具Drissionpage,通過Python代碼很輕松搞定了自動打卡,參見《國產網頁自動化工具Drissionpage實戰考勤打卡》。
但在處理復雜場景時,還是碰到一些問題,主要是Drissionpage相關的資料比較少,所以想著遇到問題做個記錄,以方便和大家共同探討。
今天主要碰到兩個問題:
登錄頁面中有一個滑塊式驗證,雖然Drissionpage中提供了hold()、Drag()等方法,但因為頁面上隨著滑塊移動,網頁元素的class會發生變化(如下圖所示),多次嘗試通過ele()方法操縱元素無果。
最后滑塊操作果斷放棄Drissionpage,改用Pyautogui模擬鍵鼠實現,主要代碼如下:
import pyautogui as gui
#鼠標1秒鐘內移動至滑塊當前位置
gui.moveTo(1212,635,duration=1)
#鼠標左鍵按住不放
gui.hold(1212,635)
#1秒鐘內向右方拖拽450
gui.drag(450,0,1)
因為第一個問題解決的并不完美,一旦換個電腦滑塊的坐標位置發生變化就會有問題。所以想著簡單點:先人工登錄,把后面的工作交給自動化處理。
但又出現新問題,當前頁面人工登錄成功后,運行程序卻會重新啟動一個Chrome瀏覽器,而且自動訪問指定網頁時需要重新登錄。
解決方法和步驟:
1、打開Chrome瀏覽器,地址欄輸入“chrome://version/”,獲取個人資料路徑
2、代碼中使用 set_user_data_path() 方法,使得程序運行打開的Chorem瀏覽器用戶目錄與正常打開瀏覽器用戶目錄一致。主要代碼如下:
from DrissionPage import ChromiumOptions
co=ChromiumOptions()
co.set_user_data_path()(r'C:\Users\Administrator\AppData\Local\Google\Chrome\User Data')
page=ChromiumPage(co)
page.get('http://xxx')
說明:若不做設置,正常瀏覽器和程序打開瀏覽器地址欄輸入“chrome://version/”,兩者的個人資料路徑是不一樣的。
3、運行情況:正常打開瀏覽器訪問頁面登錄后,程序運行會使用已打開瀏覽器訪問新頁面,且不需要再次登錄。
上述第一個問題雖然解決了,但并不完美。也希望有高手看到的話,能夠在評論區指點一二。
超鏈接可以是一個字,一個詞,或者一組詞,也可以是一幅圖像,您可以點擊這些內容來跳轉到新的文檔或者當前文檔中的某個部分。
當您把鼠標指針移動到網頁中的某個鏈接上時,箭頭會變為一只小手。
我們通過使用 <a> 標簽在 HTML 中創建鏈接。
有兩種使用 <a> 標簽的方式:
鏈接的 HTML 代碼很簡單。它類似這樣:
<a href="url">Link text</a>
href 屬性規定鏈接的目標。
開始標簽和結束標簽之間的文字被作為超級鏈接來顯示。
實例
<a >百度</a>
上面這行代碼顯示為:百度
點擊這個超鏈接會把用戶帶到 百度 的首頁。
提示:"鏈接文本" 不必一定是文本。圖片或其他 HTML 元素都可以成為鏈接。
使用 Target 屬性,你可以定義被鏈接的文檔在何處顯示。
下面的這行會在新窗口打開文檔:
<a target="_blank">百度</a>
name 屬性規定錨(anchor)的名稱。
您可以使用 name 屬性創建 HTML 頁面中的書簽。
書簽不會以任何特殊方式顯示,它對讀者是不可見的。
當使用命名錨(named anchors)時,我們可以創建直接跳至該命名錨(比如頁面中某個小節)的鏈接,這樣使用者就無需不停地滾動頁面來尋找他們需要的信息了。
命名錨的語法:
<a name="label">錨(顯示在頁面上的文本)</a>
提示:錨的名稱可以是任何你喜歡的名字。
提示:您可以使用 id 屬性來替代 name 屬性,命名錨同樣有效。
實例
首先,我們在 HTML 文檔中對錨進行命名(創建一個書簽):
<a name="tips">基本的注意事項 - 有用的提示</a>
然后,我們在同一個文檔中創建指向該錨的鏈接:
<a href="#tips">有用的提示</a>
您也可以在其他頁面中創建指向該錨的鏈接:
<a href="url#tips">有用的提示</a>
本例演示如何在新窗口打開一個頁面,這樣的話訪問者就無需離開你的站點了。
<html> <body> <a target="_blank">百度</a> <p>如果把鏈接的 target 屬性設置為 "_blank",該鏈接會在新窗口中打開。</p> </body> </html> ?
HTML基礎教程:超鏈接的使用
*請認真填寫需求信息,我們會在24小時內與您取得聯系。