结案了,感谢各位的帮助!下面附上我使用的配置:
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 2020-10-06 11:28:47 +08:00
只能对比两组数据的差异。
|
2
alan0liang 2020-10-06 12:15:41 +08:00 via Android 1
|
3
lichdkimba 2020-10-06 12:22:09 +08:00 2
這個可能會非常難 畢竟人家就是專門搞這個驗證碼的
|
4
h503mc 2020-10-06 13:02:10 +08:00
被 window.navigator.webdriver 挡了
|
5
JmmBite 2020-10-06 14:26:25 +08:00 1
|
6
None123 2020-10-06 14:28:24 +08:00
用 puppeteer
|
7
xiaojie668329 2020-10-06 14:35:07 +08:00 via iPhone
识别到你的浏览器是自动的,需要修改一些参数。
|
8
cxbeat OP |
9
DoctorCat 2020-10-07 00:43:09 +08:00
lz 最终成功了么?
|
10
locoz 2020-10-07 07:16:11 +08:00 via Android
浏览器在被自动化测试工具控制时会调整一些标识,可以被用 js 取到值,所以人家就能检测了,搜索引擎上搜一下然后按着替换掉就好了。( puppeteer 也一样的)
这种属于比较常规的操作,你后面还会碰到鼠标轨迹识别的问题,会更麻烦一些,搞不定的话建议直接上打码平台,毕竟投票脚本这种东西应该也不常用? |