參考:https://blog.csdn.net/m0_54490473/article/details/122751814
解決了個主要問題,滑塊驗證錯誤,

檔案由:vscode 撰寫,瀏覽器驅動為 EDGE.
驅動下載地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Aixiu
# @Time : 2022/10/17 17:48:24
from selenium import webdriver
from selenium.webdriver.edge.service import Service
# 無頭Edge瀏覽器庫及規避檢測
from selenium.webdriver.edge.options import Options
# 匯入動作鏈對應的類
from selenium.webdriver import ActionChains
import time
# 創建一個引數物件,用來控制 Edge以無界面模式打開
edge_options = Options()
# 反檢測設定 #
# 規避被檢測到的風險
# 開啟開發者模式
# option = EdgeOptions()
edge_options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 去掉:瀏覽器上方有“Chrome正受到自動測驗軟體的控制
edge_options.add_experimental_option("detach", True)
# 禁用啟用Blink運行時的功能
edge_options.add_argument('--disable-blink-features=AutomationControlled')
# 將引數傳給瀏覽器 (options=edge_options)
bro = webdriver.Edge(service=Service('./msedgedriver.exe'), options=edge_options)
bro.get('https://kyfw.12306.cn/otn/resources/login.html')
# 解決特征識別, 用來解決滑塊出錯,驗證問題
script = 'Object.defineProperty(navigator, "webdriver", {get: () => false,});'
bro.execute_script(script)
# 根據id獲取用戶賬號輸入框、密碼輸入框,并輸入賬號密碼
time.sleep(2)
username_tag = bro.find_element(by='id', value='https://www.cnblogs.com/aixiu/p/J-userName').send_keys('改為你的用戶名')
time.sleep(2)
password_tag = bro.find_element(by='id', value='https://www.cnblogs.com/aixiu/p/J-password').send_keys('改為你的密碼')
# 根據id獲取登錄按鈕并點擊
login_btn = bro.find_element(by='id', value='https://www.cnblogs.com/aixiu/p/J-login').click()
# 盡量休眠長一點,不然,代碼難以定位到滑塊
time.sleep(2)
span = bro.find_element(by='id', value='https://www.cnblogs.com/aixiu/p/nc_1_n1z')
# 定義動作鏈,點擊并拖拽
aco = ActionChains(bro)
# 點擊并長按
aco.click_and_hold(span)
#perform()立即執行動作鏈操作
for i in range(10):
aco.move_by_offset(36,0).perform()
time.sleep(0.3)
# 釋放動作鏈
aco.release()
time.sleep(2)
# 點擊登錄后的彈窗 確定 按鈕
ok_btn = bro.find_element(by='class name', value='https://www.cnblogs.com/aixiu/p/ok').click()
time.sleep(5)
bro.quit()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516322.html
標籤:Python
