Selenium是一个用于Web应用程序测试的自动化工具。它直接运行在浏览器中,模拟真实用户的操作。Selenium支持多种主流浏览器,如IE、Mozilla Firefox、Safari、Google Chrome、Opera和Edge等。在爬取数据的时候对于需要登录后才能爬取的情况往往可以利用Selenium来进行模拟登录,登录后进行数据的获取。这里先介绍Selenium的安装与配置,实现通过python来驱动浏览器进行操作。
一、selenium安装
要安装Selenium,首先需要具备Python开发环境。以下是安装Selenium的步骤:
1. Python环境准备:
- 打开Python官网:https://www.python.org/downloads/,下载适合你操作系统的Python版本。
安装Python。在window下安装python环境非常简单,直接下一步下一步就可以安装完成。安装过程中,确保将Python添加到环境变量中,以便在命令行中运行Python命令。
安装完成后,可以在命令行中输入
python --version
来验证Python是否安装成功,并查看版本号。
2. 安装Selenium:
- 在命令行中,使用pip(Python的包管理工具)来安装Selenium。输入以下命令并按回车键执行:
- 如果你的系统有多个Python版本,可能需要使用pip3代替pip。
pip install selenium
3. 浏览器驱动安装:
- Selenium支持多种浏览器,但每种浏览器都需要相应的驱动程序。例如,对于Chrome浏览器,你需要下载ChromeDriver。 ○ 访问ChromeDriver的下载页面:https://sites.google.com/a/chromium.org/chromedriver/,选择与你的Chrome浏览器版本相对应的ChromeDriver版本。 ○ 国内镜像下载站点 https://registry.npmmirror.com/binary.html?path=chromedriver/ 高版本的ChromeDriver可以在https://chromedriver.com/download 下载
- 下载后,解压(如果需要的话),并将ChromeDriver的路径添加到系统环境变量中,或者将其放在你的项目目录中。比如我的是放到 C:\python\Scripts 并将C:\python\Scripts配置到了系统环境变量中。
4. 验证安装:
参考selenium的官方文档,创建一个简单的Python脚本,使用Selenium打开浏览器并访问一个网页。 运行这个脚本。如果一切顺利,它会打开Chrome浏览器并导航到指定的URL,然后关闭浏览器。 代码如下:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.selenium.dev/selenium/web/web-form.html")
title = driver.title
driver.implicitly_wait(0.5)
text_box = driver.find_element(by=By.NAME, value="my-text")
submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")
text_box.send_keys("Selenium")
submit_button.click()
message = driver.find_element(by=By.ID, value="message")
text = message.text
driver.quit()
效果如下: 打开一个浏览器,访问https://www.selenium.dev/selenium/web/web-form.html
对浏览器中的元素进行操作,最后关闭浏览器。
请注意,由于Selenium和浏览器驱动程序可能会定期更新,因此在安装和配置过程中,最好参考最新的官方文档和指南。
二、常见问题
在安装Selenium的过程中,可能会遇到一些常见的问题
1. Selenium版本与浏览器驱动程序不兼容:
- 问题:安装的Selenium版本与浏览器驱动程序版本不兼容。
解决方案:检查Selenium和浏览器驱动程序的版本,确保它们相互兼容。通常,Selenium的最新版本会支持最新的浏览器驱动程序。如果需要,可以降级或升级Selenium或浏览器驱动程序以确保兼容性。
2. 浏览器驱动程序路径未正确设置:
问题:浏览器驱动程序的路径未正确设置,导致Selenium无法找到驱动程序。
- 解决方案:确保将浏览器驱动程序的路径添加到系统环境变量中,或者在Selenium代码中明确指定驱动程序的路径。例如,对于ChromeDriver,可以在代码中这样设置:
from selenium import webdriver
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')
后续我们将实战通过selenium来实现登录到淘宝并获取淘宝的商品信息。
作者博客:http://xiejava.ishareread.com/
关注:微信公众号,一起学习成长!