Python模擬登錄網易163郵箱並發送SOS郵件

  • 2019 年 10 月 6 日
  • 筆記

基本環境配置

版本:Python3

系統:Windows

需要安裝:

1. Selenium – 建議使用低版本的Python-Selenium庫,因為高版本在Chrome中不支持。

pip3 install selenium==2.48.0

2. chromedriver.exe – 版本要匹配。將 .exe 程序放在"..PythonPython36Scripts"目錄下。

3. pymysql

pip3 install pymysql

登錄界面iframe

iframe的id值添加了時間戳,直接獲取相對麻煩。可通過XPATH或CSS選擇器獲取該節點。如圖:

"寫信"節點

寫信節點的元素定位li節點, 不要定位span子節點,否則獲取不到。另外,如果是獲取APP節點,可以選擇小一級的。

郵件主題

主題節點不可交互,無法輸入文字,這裡選擇不設置。

郵件內容

郵件內容的文本輸入框處於iframe中,輸入文本前需要切換frame,可直接通過class獲取並切換。如圖:

"發送"節點

由於輸入郵件內容時切換至子頁面,在點擊發送前需要切換到父級Frame。

登錄限制

不要頻繁使用Selenium, 否則會出現點觸式驗證。當然,完全可以破解。但是,網易相對友好,短時間過後便可恢復正常訪問,也不會ban IP。

完整代碼

·END·