结案了,感谢各位的帮助!下面附上我使用的配置:
options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features")
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options)
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'})
print(driver.execute_script("return navigator.userAgent;"))
1
crab Oct 6, 2020
只能对比两组数据的差异。
|
2
alan0liang Oct 6, 2020 via Android |
3
lichdkimba Oct 6, 2020 這個可能會非常難 畢竟人家就是專門搞這個驗證碼的
|
4
h503mc Oct 6, 2020
被 window.navigator.webdriver 挡了
|
5
JmmBite Oct 6, 2020 |
6
None123 Oct 6, 2020
用 puppeteer
|
7
voidcomma Oct 6, 2020 via iPhone
识别到你的浏览器是自动的,需要修改一些参数。
|
8
cxbeat OP |
9
DoctorCat Oct 7, 2020
lz 最终成功了么?
|
10
locoz Oct 7, 2020 via Android
浏览器在被自动化测试工具控制时会调整一些标识,可以被用 js 取到值,所以人家就能检测了,搜索引擎上搜一下然后按着替换掉就好了。( puppeteer 也一样的)
这种属于比较常规的操作,你后面还会碰到鼠标轨迹识别的问题,会更麻烦一些,搞不定的话建议直接上打码平台,毕竟投票脚本这种东西应该也不常用? |