zoukankan      html  css  js  c++  java
  • python利用selenium(webdriver chrome)模拟登陆获取cookie

    我是在windows下进行实验的

    准备工作:

          1、安装python环境。

          2、python安装selenium插件(执行以下命令就行)。

             pip install selenium

          3、Windows下配置webdriver chrome。

    如果以上准备工作都做好了。

    那么我们就来编写python脚本。

    脚本代码如下:

    # coding = utf-8
    #模拟浏览器自动登录yahoo邮箱
    from selenium import webdriver
    from time import sleep
    from selenium.webdriver.chrome.options import Options
    
    #一下三行为无头模式运行,无头模式不开启浏览器,也就是在程序里面运行的
    chrome_options = Options()
    chrome_options.add_argument("--headless")
    browser = webdriver.Chrome(executable_path=(r'C:Users923AppDataLocalGoogleChromeApplicationchromedriver.exe'), options=chrome_options)
    # #如果不用上面三行,那么就用下面这一行。运行的时候回自动的开启浏览器,并在浏览器中自动运行,你可以看到自动运行的过程
    # browser = webdriver.Chrome(executable_path=(r'C:Users923AppDataLocalGoogleChromeApplicationchromedriver.exe'))
    #设置访问链接
    browser.get("https://www.yahoo.com")
    #点击登录按钮
    browser.find_element_by_id("uh-signin").click()
    #输入用户名
    browser.find_element_by_id("login-username").send_keys("bjs***99")
    #点击“下一步”
    browser.find_element_by_id("login-signin").click()
    #等待10秒,以防读取不到(#login-passwd)元素
    sleep(10)
    #输入密码
    browser.find_element_by_id("login-passwd").send_keys("Zf***234")
    #点击signin按钮
    browser.find_element_by_id("login-signin").click()
    #获取cookie
    cookie_items = browser.get_cookies()
    cookie_str = ""
    #组装cookie字符串
    for item_cookie in cookie_items:
        item_str = item_cookie["name"]+"="+item_cookie["value"]+"; "
        cookie_str += item_str
        print(item_cookie)
    #打印出来看一下
    print(cookie_str)
    # sleep(5)
    # browser.get_screenshot_as_file('test.png')
    # browser.close()
    # print('test!')

    运行以上代码,会得到如下结果,当然用户名和密码我该了一下,有需要的同学自己注册一个yahoo邮箱进行测试哈。

    看到以上结果,代表我们的代码运行成功。

  • 相关阅读:
    java处理高并发高负载类网站的优化方法
    谈谈Memcached与Redis
    php中const与define的使用区别 详解
    ecshop添加模板与库文件
    ECShop 2.5.1 的结构图及各文件相应功能介绍
    Uva10972(RevolC FaeLoN)
    交叉染色法判断二分图
    边双联通问题求解(构造边双连通图)POJ3352(Road Construction)
    POI1999(仓库管理员)
    ZOJ1311(Network)
  • 原文地址:https://www.cnblogs.com/573734817pc/p/11176815.html
Copyright © 2011-2022 走看看