用selenium爬取網站資訊,在有頭模式下可以正常爬取,但是開啟headless模式后,在瀏覽器下列印window.navigator.webdriver=true,請問有什么方法可以使selenium不被識別嗎?網上有用mixproxy注入js,但不是很看得懂,目前沒有找到好的解決方法,若有解決方法可聯系[email protected]
uj5u.com熱心網友回復:
有個辦法可以試試,把引數設定成那個,開發者模式,在非無頭情況下,是檢測不到驅動的無頭模式沒有試過,可以試試
option.add_experimental_option('excludeSwitches', ['enable-automation']) #以鍵值對的形式加入引數
https://blog.csdn.net/cool_soup29/article/details/94401469
uj5u.com熱心網友回復:
樓主的問題解決了嗎?我也遇到這個問題,設定開發者模式也不好使uj5u.com熱心網友回復:
對的,設定開發者模式也還是True,咋整,樓主問題解決了嗎uj5u.com熱心網友回復:
#使window.navigator.webdriver值為undefined 從而繞過防爬策略driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
uj5u.com熱心網友回復:
老大!弄了還是true
uj5u.com熱心網友回復:
今天2020/7/29,我使用了以上方法,可以使window.navigator.webdriver為undefined
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/19788.html
上一篇:A+B問題,python求解
