教你如何使用Python selenium
作者:布小禅 时间:2022-05-15 11:13:50
一、了解selenium
Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safar等浏览器(需要下载驱动),之前是用来做测试网站的,后来发现也可以用来爬取数据(估计开发者都没想到他开发的selenium被别人广泛适用于爬虫领域——笑)。
二、selenium的下载
1.我这里是使用的Chrom浏览器 !注意不要忽视这个地方
2.python中selenium库的下载(pycharm系列)
由于我用的pycharm的虚拟环境,所以我只需要在pycharm的终端下载第三方库就行了,简单,方便,pycharm真是个好用的东西——O(∩_∩)O~
打开pycharm
打开pycharm的终端
输入pip install selenium -i https://pypi.doubanio.com/simple (这是使用国内镜像网站下载selenium,下载速度较快)
等待片刻,结束
pip list ——查看自己下载的第三方库,检查是否成功
3.python中selenium库的下载(cmd系列)
win+R输入cmd
打开cmd
输入pip install selenium -i https://pypi.doubanio.com/simple (这是使用国内镜像网站下载selenium,下载速度较快)
等待片刻,结束
pip list ——查看自己下载的第三方库,检查是否成功
4.selenium驱动的下载(官网都是英文,看不懂)
打开你的Chrom浏览器查看你是什么版本的(帮助->about chrom),查看版本号
点击右边这个蓝色的小可爱,没错我是小可爱 ,找到与你的chrom浏览器版本相匹配的(没有匹配的,相近的也可以,win都是32位的),下载
没了,没错,你没看错,真的没了
5.selenium的环境配置,没错又是这个烦人的环境配置 真想给他一脚
想必,这个时候已经下载好了吧
下载好以后,很简单,解压,然后——看3
最好(但是不是必要)创建一个文件夹放你解压出来的geckodriver,然后复制你这个文件当前的路径(ctrl + c)
打开环境变量(此电脑->右键->属性->高级系统配置->环境变量),在系统变量找到path,新建,ctrl + v
完事
6.打开你的pycharm,新建一个py文件去写出以下代码
from selenium import webdriver
import time
# 导入时间包和selenium包
huohu = webdriver.Chrome()
# 创建一个chome的selenium对象
huohu.get("http://www.elong.com/")
# 打开网站
huohu.quit()
# 退出
写好后,运行
好,报错了,对,报错了,可能你们不会报错,反正我报错了
报错信息是:selenium.common.exceptions.WebDriverException: Message: ‘chromedriver' executable needs to be in PATH.
意思是,你需要吧chromdriver放到路径,我照着做了,可是呢,还是这个报错!
这是什么情况??明明我是按照教程来的啊
着急的我去群里请求大佬,大佬们直接无视我——::>_<::
然后又去找它——>脚本之家,左翻翻,右找找,终于找到了解决方案:
将chromdriver放在python解释器的位置,我照着做了之后,就成功了。。。
好家伙,上面教程不是说随便放的吗?…
哎,人与人之间最基本的信任都没有了
三、selenium的基本使用
from selenium import webdriver
# 导包
driver = webdriver.Chrome()
# 创建一个浏览器对象
driver.get("https://m.elong.com/")
# 访问艺龙网
driver.quit()
# 关闭浏览器,也可以不关闭,但是最好关闭,养成一个打开后不忘记关闭的好习惯
然后我们就会发现,浏览器界面一闪而过(为什么?因为页面渲染完成后,就直接退出了),那么如何才能让我们能够观察到呢?有请我们的time模块,让它睡会儿,就能观察到了
这样改
from selenium import webdriver
import time
# 导包
driver = webdriver.Chrome()
driver.get("https://m.elong.com/")
time.sleep(5)
# 页面渲染完成后让它睡5s,这样就能观察到了
driver.quit()
OK,看到,代码替我们打开了这个网址,并且展示了5s后关闭了
四、结语
来源:https://blog.csdn.net/m0_52883898/article/details/115680676