在抓取阿里系頁面時婉支,訪問頻率過多會出現(xiàn)如下所示滑動驗證碼。發(fā)現(xiàn)使用selenium定位到元素拖動不起作用澜建,于是使用暴力法磅摹,手動滑動驗證碼并記錄鼠標軌跡滋迈。然后重復軌跡即可。
其中需要注意的點
1. 淘寶會檢測selenium標識户誓,所以需要更改標識饼灿,操作方法如下
? ? (1).?vim?/path/chromedriver
? ? (2). 輸入 /cdc_然后回車
????(3). 按a啟用編輯
? ? (4). 將$cdc_lasutopfhvcZLmcfl替換為相同位數(shù)的字符并保存
2. 在打開網(wǎng)頁前設置執(zhí)行js代碼轉換模式使navigator.webdriver為undefined
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source":"""Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"""})
3. 每次遇到驗證碼調用鼠標記錄腳本去滑動驗證碼即可
備注:鼠標記錄腳本地址https://github.com/j785786058/imitator