Web网页自动化实战《1.利用py第三方库selenium完成艺龙网访问操作》

2022-06-21 15:26:56 浏览数 (1)

目录

  • 一、准备工作
    • 1.创建相应的工程
    • 2.看用的什么python环境
  • 二、简单介绍selenium
    • 1.selenium工具包包含啥
    • 2.怎么安装
    • 3.引入库
    • 4.下载谷歌驱动与谷歌浏览器版本一致,并将驱动放在py的安装路径下,谷歌浏览器必须安装在c盘
  • 三、代码

一、准备工作

1.创建相应的工程

安装python3.5以上版本,不要装最新版本,最新版本的python可能会有bug,老版本更稳定一些。

在pycharm中点击file---new project:

1)虚拟环境:
2)本地已经安装的环境:

可能你的电脑里安装了37、38版本的python。

本地的系统环境--选择安装路径:

点击creat,弹出弹框,选择this window,成功创建工程。

上面两种方式,选择一种使用,可以创建相应的工程。

2.看用的什么python环境

扩展库(External Libraries)下面显示python环境:

这个是我所选择的环境,接下来所有的代码都在这个环境中运行,将来安装的第三方库都在这个环境里面。

二、简单介绍selenium

selenium是个网页自动化的工具包,开源的最火的网页操作工具。

1.selenium工具包包含:

录制工作-ide。写代码--webdriver。分布式处理--grid。

python--webdriver

1)你是否具备解决问题的能力。 2)你本地的python是否具备对网页操作的能力。 安装python之后,默认是没有的。 安装一个python的第三方库(安装外部库,让你本地的python具备相应的能力)。

2.怎么安装?

pip命令。在线安装。pip install 1)下载最新的版本。版本更新。 2)如果你的第三方功能库有依赖库,那就自动给你安装。 python3点几的版本,pip安装的依赖库一般不会有啥冲突的。 3)安装到哪儿了呢? 项目是哪个环境,需要的外部功能库就安装在哪个环境下。

3.引入库:

from selenium import webdriver

ctrl b跳转查看该库的源码。

4.下载谷歌驱动与谷歌浏览器版本一致,并将驱动放在py的安装路径下,谷歌浏览器必须安装在c盘

下载谷歌浏览器:https://www.chromedownloads.net/chrome64win/

下载和谷歌浏览器匹配的谷歌驱动:https://chromedriver.chromium.org/downloads

32位的驱动,同时支持32和64位的windows10系统。

浏览器安装时选择非默认路径,这是很多人为了不占用系统盘空间经常干的活。但是对于Selenium环境来说就有点困惑。

回到Selenium的原理,当运行代码,会通过ChromeDriver插件启动一个Socket服务并生成一个Sessionid打开浏览器窗口,而打开这个浏览器窗口是执行浏览器的应用程序文件(如Chrome的chrome.exe)。

如果浏览器安装的非默认路径,这时候Selenium找不到这个二进制的chrome.exe文件这时候抛出异常:

WebDriverException:Message:unknown error:cannot find Chrome binary

最简单的方法:卸载浏览器,重新安装到默认路径。

1.谷歌浏览器放在了c盘我新建的文件夹下面

chromedriver.exe 放在python的安装路径下。

2.谷歌驱动我放在了python的安装路径下面

因为已经配置了python的安装路径为系统变量--path下的环境变量,所以就不用另外再配置谷歌驱动的环境变量了。

3.因为浏览器不是用的安装的,是用的压缩包。切记把谷歌浏览器压缩包解压后的路径配置到环境变量-系统变量-path中去,否则运行代码会报错找不到谷歌驱动。

参考链接:https://blog.csdn.net/ouyanggengcheng/article/details/90476553

(群友回复:整了一个下午,终于解决,最好的办法就是重装chrome,就让他在默认位置,后面的添加浏览器位置我使用了,但是没用)

如果遇到正确配置却还是不行的情况下,一定要重启电脑。

三、代码

代码语言:javascript复制

'''
1、 .py后缀。
2、python语言。
中文--语法表达。 语法规则。
     吃饭
     火车
     高铁
     取钱机
英文
'''


# 1、对齐。
# print 是自带的功能,用于输出。控制台输出。
# print("hello")#无特殊情况下,代码是顶格写的。
# # 2、换行。一句话一行。
# print("daydayup")

# 用代码去操作浏览器。
from selenium import webdriver

#打开谷歌浏览器,与浏览器建立了会话。
#driver变量=会话。
driver=webdriver.Chrome()#谷歌浏览器的名字首字母大写。
#要在这个会话基础上,访问一个网页。
#webdriver是个第三方的功能库。提供了各种网页操作的API。也就是方法。
#访问网页的方法叫做get()。
driver.get("https://www.elong.com/")#driver这个变量去做的,是基于webdriver.Chrome()这个会话。
# get()就是调用。



'''
变量=值
变量名:数字/字符(26个字母的大小写)/_
       以字符串开头,以下划线拼接。
       my_name
变量名从来不用中文。
购物车:推的/拉的/提的。


变量:变量=数据。整数/字符串
变量用于存储数据的。一次定义,多次使用。
购物车/储物柜--1个榴莲。
购物车=1个榴莲。
拿到榴莲,找到购物车。
python中找到了这个变量等于找到了这个数据。
购物车可以很多次去访问的。


字符串、字符串,就是把字符连在一起,串成一串又一串;
字符串内可以包含数字、字母、特殊符号等所有内容。


在Python中只要对一些内容加上一对双引号或一对单引号,
就默认为是字符串;(三对单引号或三对双引号可以写多行字符串)。
'''


# gwc="一个榴莲"#双引号扩起来的,就是字符串。
# gwc=100
# money=99
# me="美女"

0 人点赞