selenium防爬和模拟手机浏览器

 在浏览器中使用webdriver时控制台中window.navigator.webdriver 元素会显示True,正常情况下来说应该是关掉的,所以我们用js来屏蔽掉这个元素

    # 去掉浏览器头部提示
    opt = Options()
    opt.add_experimental_option('excludeSwitches', ['enable-automation'])
    
    # 模拟iphone X浏览器,用不到可忽略
    opt.add_experimental_option('mobileEmulation', {'deviceName': 'iPhone X'})
    driver = webdriver.Chrome(options=opt)
    driver.get('https://www.xxxx.com')
    
    # 使用js屏蔽window.navigator.webdriver
    js = '''Object.defineProperty(navigator, 'webdriver', {
          get: () => undefined
        })'''
    driver.execute_script(js)


版权声明:本文为qq_44645338原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。