对于刚使用Selenium开发爬虫或者自动化测试脚本的同学,会遇到这些问题:
- 1、本机电脑已经安装了Chrome,如何查看它的版本?
- 2、知道了Chrome的版本,如何找到对应的chromedriver?
- 3、如何给Chrome设置代理和无头模式?
- 4、在服务器上例如Centos如何安装Chrome?
- 5、如何将Chrome的cookies给requests以上等等,很多问题,都会在实际中遇到,相信读完这篇文章你就能够一一解决了。
答案1,查看chrome版本:
1、打开chrome浏览器
2、输入chrome://version 如图:
可以看到版本是80.0.3987.116
答案2,找到对应的chromedriver
1、访问google的chromedriver官方下载站:
https://chromedriver.storage.googleapis.com/index.html
如图:
列表里的chromedriver主版本号都是与chrome版本的主版本号一一对应的, 如果没有看到对应的次版本号,可以选择稍微大一个的次版本号,比如我们的版本尾号是116,那么我们在chromedriver里没有看到对应的版本号,我们就选择16这个结尾的(截图里标注出来了的)
2、下载解压chromedriver,放在脚本相同目录或者根据环境变量能找到的目录
答案3,设置chrome代理和无头模式,直接放python代码吧:
from selenium import webdriverproxy="127.0.0.1:8888"chrome_options = webdriver.ChromeOptions()chrome_options.add_argument("--headless")#设置无头模式chrome_options.add_argument('--proxy-server={}'.format(proxy))#设置代理driver=webdriver.Chrome("./chromedriver", chrome_options=chrome_options)
答案4,在Centos最快安装chrome的办法:
curl https://intoli.com/install-google-chrome.sh | bash
使用intoli家的脚本可以在分分钟内自动为你安装上chrome 安装好使用以下命令查看chrome版本,然后就可以按照上面的回答找到对应的chromedriver版本:
[root@vm ~]# google-chrome --versionGoogle Chrome 80.0.3987.122
答案5 将获取到的webdriver的cookie给requests:
def selenium2requests(driver_cookies, requests_session): cookie_dic = {} for item in driver_cookies: cookie_dic[item["name"]] = item["value"] requests_session.cookies = requests.utils.cookiejar_from_dict( cookie_dic)