ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

selenium设置Chrome代理、UA和Cookie

2022-05-26 18:03:23  阅读:426  来源: 互联网

标签:name Chrome selenium value add Cookie cookie browser


一、selenium设置Chrome User-Agent+代理
先上代码
这里我直接用的UA轮子,随机取出一个来设置
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from fake_useragent import UserAgent
headers = {'User-Agent': UserAgent().random} #从UA轮子里随机抽选一个用作配置,也可以自己手动设置
print(headers) #自己手动设置,格式像这样(看输出)
proxy = "127.0.0.1:8080" #这里是我自己本地开的一个代理服务用作测试
ops = Options()
ops.add_argument('User-Agent={}'.format(headers['User-Agent'])) #配置为自己设置的UA
ops.add_argument('--proxy-server=http://%s' % proxy) #添加代理 格式为ip:port
browser = webdriver.Chrome(options=ops)
browser.get('http://192.168.31.130/dvwa/index.php')
输出:
{'User-Agent': 'Mozilla/5.0 (X11; NetBSD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36'}
可在burpsuit上看到代理的流量说明代理成功,并且UA也已设置为自己配置的UA

 

 

二、selenium设置Chrome Cookie
登录后可看到Cookie长这样

 

错误示例
这估计很多人都踩了这个坑
browser.delete_all_cookies()  # 删除原来的cookie
browser.add_cookie({'think_lang': 'zh-cn', 'PHPSESSID': '6be4ba542aeecd9bef7967269add2835'})
browser.get('http://192.168.31.130/dvwa/index.php')

然后就会报这个错

InvalidArgumentException: Message: invalid argument: missing 'name'

 

正确示例

我这样写是为了方便大家更清楚当Cookie有多个 name 和 value 时该如何设置

cookie1 = {'name': 'security', 'value': 'impossible'}
cookie2 = {'name': 'PHPSESSID', 'value': 'n5u6pc2lul897cdca7pek6s713'}
browser.delete_all_cookies()  # 删除原来的cookie
browser.add_cookie(cookie1)
browser.add_cookie(cookie2)
browser.get('http://192.168.31.130/dvwa/index.php')

当然你也可以用一个for循环显得更专业(doge)

cookie = {
    'security': 'impossible',
    'PHPSESSID': 'n5u6pc2lul897cdca7pek6s713'
}
browser.delete_all_cookies()  # 删除原来的cookie
for name, value in cookie.items():
    browser.add_cookie({'name':name,'value':value})
browser.get('http://192.168.31.130/dvwa/index.php')

 

完整代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from fake_useragent import UserAgent
headers = {'User-Agent': UserAgent().random} #从UA轮子里随机抽选一个用作配置,也可以自己手动设置
print(headers) #自己手动设置,格式像这样(看输出)
proxy = "127.0.0.1:8080" #这里是我自己本地开的一个代理服务用作测试
ops = Options()
ops.add_argument('User-Agent={}'.format(headers['User-Agent'])) #配置为自己设置的UA
ops.add_argument('--proxy-server=http://%s' % proxy) #添加代理 格式为ip:port
browser = webdriver.Chrome(options=ops)
browser.get('http://192.168.31.130/dvwa/index.php')
cookie = {
    'security': 'impossible',
    'PHPSESSID': 'n5u6pc2lul897cdca7pek6s713'
}
browser.delete_all_cookies()  # 删除原来的cookie
for name, value in cookie.items():
    browser.add_cookie({'name':name,'value':value})
browser.get('http://192.168.31.130/dvwa/index.php')

这里运行完如果想退出selenium驱动的浏览器记得用browser.quit(),手动叉掉的话进程可能没关掉

browser.quit()

 

代码功能:代理并设置自定义UA然后用Cookie自动登录成功

 

标签:name,Chrome,selenium,value,add,Cookie,cookie,browser
来源: https://www.cnblogs.com/zrzm/p/16314373.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有