摘要:實戰(zhàn)解決登錄滑塊問題寫在前面遇到的問題解決辦法登錄過程如何使用開發(fā)者模式參考寫在前面嘗試自動化測試或初級爬蟲登錄模塊以及滑塊驗證可參考本篇文章。
嘗試自動化測試或初級爬蟲(登錄模塊)以及滑塊驗證可參考本篇文章。
使用網(wǎng)站:chrome(39版)
滑塊驗證:賬號密碼輸入后會讓進行滑塊驗證,即使拖動成功也會讓刷新再試一次,即使再拖動仍舊如此,問題其實出在chromedriver,網(wǎng)站會檢測到是自動測試工具從而阻止你的登錄。
使用低版本的chrome以及對應的chromedriver,具體版本對應csdn上有可以搜到(文末也有注釋以及chromedriver各版本下載地址),至此可解決12306的滑塊問題,但有一個問題該版本不支持購買服務,只能作為練習了。
對于其他網(wǎng)站,如:某淘,本人在去年想攻克未遂,今年又遇到相同的問題找到一篇解決方法,適用性很高,大家可以嘗試下,注意使用低版本的chrome以及chromedriver(39可以),才能find 到$cdc_lasutopfhvcZLmcfl,文章鏈接。
我使用的chrome是39版本,下載地址:http://www.121down.com/soft/softview-103980.html#downaddress
① 記得設置禁止自動更新:https://blog.csdn.net/weixin_41990913/article/details/90912790
②還有環(huán)境變量配置,由于老版本chrome不一定裝在C盤,要根據(jù)具體位置加到用戶變量PATH中,chromedriver.exe跟chrome.exe放在同一個文件夾中。
注釋比較詳細,不再做過多說明
from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom time import sleep#-------------------------------------初始化--------------------------------------------#僅用chrome39版本可躲過selenium檢測option = webdriver.ChromeOptions()#開發(fā)者模式的開關,設置一下,打開瀏覽器就不會識別為自動化測試工具option.add_experimental_option("excludeSwitches", ["enable-automation"])option.binary_location = "D://Google Chrome 32位 v39.0.2171.99//App//Google Chrome//chrome.exe" #自己目錄chrome位置driver = webdriver.Chrome(chrome_options=option, executable_path="D://Google Chrome 32位 v39.0.2171.99//App//Google Chrome//chromedriver")#自己目錄chromedriver位置#------------------------------------打開12306網(wǎng)頁-------------------------------------------driver.maximize_window()driver.implicitly_wait(10)url = "https://kyfw.12306.cn/otn/leftTicket/init"driver.get(url)#-------------------------------------登錄---------------------------------------------ActionChains(driver).move_by_offset(1000, 560).click().perform() # 點掉提示,鼠標左鍵點擊, 1000為x坐標, 500為y坐標,可用微信截圖工具得出坐標driver.find_element_by_id("login_user").click()driver.find_element_by_xpath("http://ul[@class="login-hd"]/li[2]/a").click() #注意相對路徑也要每層都寫,層層遞進driver.find_element_by_id("J-userName").send_keys("")driver.find_element_by_id("J-password").send_keys("")#補充自己的賬號密碼driver.find_element_by_xpath("http://div[@class="login-btn"]/a").click()#登錄sleep(2)#-----------------------------------滑塊驗證--------------------------------------------#拖動滑塊dragger = driver.find_element_by_id("nc_1_n1z")action = ActionChains(driver)action.click_and_hold(dragger).perform()# 點擊并拖住滑塊action.drag_and_drop_by_offset(dragger,300,0).perform() #拖動等長距離滑塊,開發(fā)者模式可看到 sleep(2)driver.find_element_by_xpath("http://div[@class="modal-ft"]/a").click()# 點掉提示
某寶: https://blog.csdn.net/taojian_/article/details/97758632?spm=1001.2014.3001.5501
版本對應: https://blog.csdn.net/Yunwubanjian/article/details/86539432
chromedriver: http://chromedriver.storage.googleapis.com/index.html
12306實戰(zhàn): http://www.uml.org.cn/Test/201808024.asp
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/122488.html
python作為一門比較常見的編程語言,在工作當中的應用還是比較的廣泛的,比如可以對此進行相關的自動化測試,比如自動化測試相關的代碼,另外還有破解滑動驗證碼。那么,具體的操作手法是怎樣的呢?下面就給大家詳細解答下。 在Web自動化測試的過程中,經(jīng)常會被登錄的驗證碼給卡住,不知道如何去通過驗證碼的驗證?! ∫话愕那闆r下遇到驗證碼我們可以都可以找開發(fā)去幫忙解決,關閉驗證碼,或者給一個萬能的驗證碼...
摘要:前言廢話滑塊驗證碼破解是一直都想搞的項目,畢竟多數(shù)網(wǎng)站都會采用滑塊驗證碼,于是最近在修改論文的閑暇之余把這事兒給解決了。 前言 廢話滑塊驗證碼破解是一直都想搞的項目,畢竟多數(shù)網(wǎng)站都會采用滑塊驗證碼,于是最近在修改論文的閑暇之余把這事兒給解決了。要搞現(xiàn)在的滑塊驗證碼繞不開圖像處理,圖像處理當然是首推OpenCV-Python啦!當然我的OpenCV非常菜(P.S.兩天速成不敢保證代碼質量...
摘要:需要在服務中存儲更多信息,如果使用的是關系數(shù)據(jù)庫,那么載入和存儲的的代價可能會很高。這次我們使用令牌來引用關系數(shù)據(jù)庫表中負責存儲用戶登錄信息的條目。而我們要做的就是適用重新實現(xiàn)登錄功能,取代由關系數(shù)據(jù)庫實現(xiàn)的登錄功能。 上一篇文章:Python--Redis實戰(zhàn):第一章:初識Redis:第三節(jié):你好Redis-文章投票試煉下一篇文章:Python--Redis實戰(zhàn):第二章:使用Redi...
閱讀 992·2023-04-25 14:20
閱讀 1867·2021-11-24 10:20
閱讀 3764·2021-11-11 16:55
閱讀 2905·2021-10-14 09:42
閱讀 3466·2019-08-30 15:56
閱讀 1142·2019-08-30 15:55
閱讀 1063·2019-08-30 15:44
閱讀 771·2019-08-29 11:28