zoukankan      html  css  js  c++  java
  • python selenium 获取UA 睁yan

    import time,sys
    from selenium  import webdriver
    
    from selenium.webdriver.chrome.options import Options
    
    
    
    def get_cookie():
        options = webdriver.ChromeOptions()
        options.add_argument(' headless')
        options.add_argument(' no-sandbox')
        options.add_experimental_option('w3c', False)  # 获取linux 获取UA ,日志报错解决
    
        url = 'https://www.cnvd.org.cn/flaw/show/CNVD-2021-93994'
        caps = {
            'browserName': 'chrome',
            'loggingPrefs': {
                'browser': 'ALL',
                'driver': 'ALL',
                'performance': 'ALL',
            },
            'goog:chromeOptions': {
                'perfLoggingPrefs': {
                    'enableNetwork': True,
                },
                'w3c': False,
            },
        }
        # windows linux
        if sys.platform=='win32':
            print('windows 系统')
            driver = webdriver.Chrome(desired_capabilities=caps) # desired_capabilities=caps 解决获取UA异常
        else:
            print('否则 linux')
            options = webdriver.ChromeOptions()
            options.add_argument(' headless')
            options.add_argument(' no-sandbox')
            options.add_experimental_option('w3c', False)  # 获取日志报错解决
            driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver',options=options,desired_capabilities=caps)
        
        # 解决访问cnvd 没有网络
        driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
            "source": """
              Object.defineProperty(navigator, 'webdriver', {
                get: () => undefined
              })
            """
        })
        driver.get(url)
        import json
        try:
            logs = [json.loads(log['message'])['message'] for log in driver.get_log('performance')]
        except:
            print('获取UA异常')
        # print(type(logs))
        if logs:
            for i in logs:
                if i.get('params').get('headers'):
                    UA = i.get('params').get('headers').get('User-Agent')
                    print(UA)
                    break
        driver.refresh()
        # print(dir(driver.get_log))
        time.sleep(10)
        cookies = ""
        for cookie in driver.get_cookies():
            cookies += u"%s=%s; " % (cookie["name"], cookie["value"])
        print(cookies)
        driver.close()
        
    get_cookie()
    
    
    

      

  • 相关阅读:
    su的使用与退出
    338. Counting Bits
    c语言学习笔记
    Linux命令
    vimrc
    CSS选择器
    链表//设计链表
    数组和字符串//反转字符串中的单词 III
    CSS样式基本知识
    开始学习CSS,为网页添加样式
  • 原文地址:https://www.cnblogs.com/zhangshijiezsj/p/15699312.html
Copyright © 2011-2022 走看看