规避网站监测
现在不少大网站有对selenium采取了监测机制。比如正常情况下我们用浏览器访问淘宝等网站的window.navigator.webdriver的值为undefined。而使用selenium访问则该值为true。那么如何解决这个问题呢?
只需要设置Chromedriver
的启动参数即可解决问题。在启动Chromedriver
之前,为Chrome开启实验性功能参数excludeSwitches
,它的值为['enable-automation']
,完整代码如下:
import time
from selenium import webdriver
from selenium.webdriver import ChromeOptions # 需要导入的类
# 创建 option 对象
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
# 创建浏览器对象
driver = webdriver.Chrome(options=option)
driver.implicitly_wait(10)
driver.get('https://www.taobao.com/')
print(driver.title) # 淘宝网 - 淘!我喜欢
time.sleep(2)
driver.quit()