赞
踩
今天在学习selenium的时候尝试了一下登陆知乎,本来我觉着我这不就是通过浏览器进行登陆的,肯定没有问题,然而,打脸来的太快了,提示了求情信息异常,好吧,我很菜,在通过百度过后解决了问题(菜鸡一枚,不会就百度)
首先我们先来想一下,使用selenium操作浏览器与人工操作浏览器有什么不同(小声嘀咕,能有啥不同),简单的说,就是应该怎样能识别出是人工操作还是selenium操作,先来测试一下
在使用selenium打开浏览器的室友使用window.navigator.webdriver测试一下发现为true,下面我们再正常打开浏览器测试一下
此时,我们发现它的值为undefined,这下出问题了。要怎么才能将它的值在请求的时候更改为undefined呢
设置Chimmedriver的启动参数即可解决问题
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
browser = webdriver.Chrome(executable_path='chromedriver.exe', options=option)
这样我们在请求的时候就不会出现信息异常了,而且我们也能登陆知乎了
当然,我们也能用这种方法来判断是否是通过selenium发起的请求(假如他没有设置启动参数的话,手动滑稽)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。