python selenium使用chrome/firefox的已存在的cookie访问网站

      如果我们在跑自动化程序之前,已经登录了某个网站,那么,我们就可以跳过输入用户名、密码以及验证码的环节,直接读取浏览器中已经保存的cookie来访问网站,就可以顺利进去了。由于selenium启动某个浏览器时,它启动的是一个全新的浏览器,没有带任何cookie,所以我们必须添加一些代码,来让程序加载这些cookie。

我们分别用chrome和firefox来操作,看看对应的实际代码是什么。这里使用python实现。

一、对应chrome的实现

[python]  view plain  copy
  1. #!/usr/bin/python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. from selenium import webdriver  
  5. import time  
  6. import os  
  7.   
  8. profile_dir=r"C:\Users\yan\AppData\Local\Google\Chrome\User Data"    # 对应你的chrome的用户数据存放路径  
  9. chrome_options=webdriver.ChromeOptions()  
  10. chrome_options.add_argument("user-data-dir="+os.path.abspath(profile_dir))  
  11.   
  12. browser=webdriver.Chrome(chrome_options=chrome_options)  
  13. browser.maximize_window()  
  14. browser.get("http://www.baidu.com")  
以上代码即可实现打开chrome时载入cookie来执行后续操作。例如,你已经登录了百度,那么这时打开浏览器,就是已登录状态。否则,你就慢慢识别百度的验证码吧^_^
[python]  view plain  copy
  1. browser=webdriver.Chrome(chrome_options=chrome_options)  
这句的参数就是添加了用户数据,如果没有参数,则是启动一个全新的不带cookie的浏览器。

二、对应firefox的实现

[python]  view plain  copy
  1. #!/usr/bin/python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. from selenium import webdriver  
  5. import time  
  6. import os  
  7.   
  8. fp=webdriver.FirefoxProfile(r'C:\Users\yan\AppData\Roaming\Mozilla\Firefox\Profiles\btnc8mzb.default')  
  9. browser=webdriver.Firefox(fp)  
  10. browser.maximize_window()  
  11. browser.get("http://www.baidu.com")  
与上面类似。
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都飘雪

您的1毛奖励是我创作的源源动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值