实现taobao自动化登录,当用webdriver打开淘宝时,滑块验证一直失败,手动滑都会失败。因为淘宝会检测window.navigator.webdriver,控件检测到你是selenium进入,所以就会弹出滑块验证。只需要绕过检测就能实现自动登录
验证了两种方法可以跳过:
第一种是给浏览器加启动参数,开启远程调试--remote-debugging-port=9222
这种方法虽然可以跳过检测,但是必须要手动打开浏览器再执行脚本,不是我想要的结果
于是找到了第二种方法
#去除浏览器识别,去除浏览器上方有“Chrome正受到自动测试软件的控制”
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_experimental_option("detach", True)
跳转到登录页面后,再 解决特征识别.因为服务器识别到的selenium的特征。使用该两行代码更改了特征,即可以顺利通过识别
script = 'Object.defineProperty(navigator, "webdriver", {get: () => false,});'
driver.execute_script(script)
可以看到解除识别后window.navigator.webdriver的值变成了false<