Selenium简介及安装
来自CloudWiki
本节课将会讲到Selenium的环境搭建以及简单使用,并且通过爬取淘宝的例子讲授如何通过Selenium库爬取到淘宝的商品价格。最后介绍一些学习方法以及学习网站。
目录
Selenium
什么是Selenium
Selenium 是一个用于浏览器自动化测试的框架,可以用来爬取任何网页上看到的数据。
Selenium的优缺点
优点:Selenium可以爬取任何网页的任何内容,因为它是通过浏览器访问的方式进行数据的爬取,没有网站会拒绝浏览器的访问。
缺点:时间以及内存消耗太大
Selenium的下载与安装
安装:在终端输入 pip install selenium
手动安装
下载:下载Chromedriver
Chromedriver与Chrome对应关系:
chromedriver 版本 chrome 版本 发布时间 2.44 v69-71 2018-11-19 2.43 v69-71 2018-10-16 2.42 v68-70 2018-09-13 2.41 v67-69 2018-07-27 2.40 v66-68 2018-06-07 2.39 v66-68 2018-05-30 2.38 v65-67 2018-04-17 2.37 v64-66 2018-03-16 2.36 v63-65 2018-03-02 2.35 v62-64 2018-01-10 2.34 v61-63 2017-12-10 2.33 v60-62 2017-10-03
(参考文档:https://www.jianshu.com/p/c286d4b98108)
解压:将解压后的chromedriver.exe文件放在…\Google\Chrome\Application\ 中,
然后使用代码测试:
from selenium import webdriver #导入包 driver = webdriver.Chrome("C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe") #打开Chrome浏览器 driver.get('http://www.baidu.com') #输入url,打开百度首页
常见错误排错:https://www.cnblogs.com/testway/p/8079237.html
界面如下:
自动安装
安装第三方库
自动安装需要用到第三方库webdriver_manager,先安装这个库,然后调用对应的方法即可。
pip install selenium
pip install webdriver_manager
代码:
from selenium import webdriver from selenium.webdriver.common.keys import Keys from webdriver_manager.chrome import ChromeDriverManager # 使用前先导入By类 from selenium.webdriver.common.by import By browser = webdriver.Chrome(ChromeDriverManager().install()) browser.get('http://www.baidu.com') #search = browser.find_element_by_id('kw') search = browser.find_element(By.ID,'kw') search.send_keys('python') search.send_keys(Keys.ENTER) # 关闭浏览器 browser.close()
上述代码中,ChromeDriverManager().install()方法就是自动安装驱动的操作,它会自动获取当前浏览器的版本并去下载对应的驱动到本地。
输出:
====== WebDriver manager ====== Current google-chrome version is 97.0.4692 Get LATEST chromedriver version for 97.0.4692 google-chrome There is no [win32] chromedriver for browser in cache Trying to download new driver from https://chromedriver.storage.googleapis.com/97.0.4692.71/chromedriver_win32.zip