目前记录♡最详细的一篇记录学习笔记 ---Python爬虫(18) selenium自动化安装和使用

一. selenium自动化介绍

        Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏.主讲chrome

Chromedriver的介绍 # 主讲这个

WebDriver是一个用来进行复杂重复的web自动化测试的工具,可以理解它是谷歌的浏览器的驱动或者插件,自动化selenium提供调用该方法进行自动化的操作

PhantomJS的介绍

PhantomJS 是一个基于Webkit的“无界面”(headless)浏览器,它会把网站加载到内存并执行页面上的 JavaScript

谷歌浏览器的镜像网址

# 镜像网址:http://npm.taobao.org/mirrors/chromedriver

phantomjs镜像源地址:

     开发者社区npm升级通知—阿里云开发者社区https://developer.aliyun.com/mirror/NPM?from=tnpm

安装镜像的流程:

1.首先查看我们所使用的chrom(谷歌浏览器)的版本:

        设置 -->帮助-->关于chrome的版本

 2. 然后用chrome打开镜像源地址: 

        (1)找到与版本最相近的版本点击进入

        例如: 我这里为

         (2)下载window版本32位

        

        (3)然后将包解压获得一个.exe文件.这个镜像文件就是chrome的驱动

        (4)剪切或者复制该文件到python解释器文件的同级目录

                !!!这里是我都目录,需要你寻找到自己的目录哦       

然后安装 selenium这个包

pip install selenium  在pycharm的控制台安装,或者终端界面安装

@selenium的基本使用

1. 无头模式(无界面模式)

        无头模式,就是在自动化程序不打开窗口进行后台运行的模式.这样就不会在运行程序时弹出浏览器界面影响其他工作.

        

"""
在安装selenium这个包后, 我们需要导入这个包中的webdriver这个模块
然后从这个模块导入控制无头参数的ChromeOptions

"""
"""第一步: 导包"""
from selenium import webdriver
from selenium.webdriver import ChromeOptions

""" 第二步: 创建ChromeOption对象, 设置无界面启动参数: options.headless=True """
option = ChromeOptions()
option.add_argument('--headless')  # 指定无头模式

""" 第三步: 创建浏览webdriver对象,这里用windows变量接收"""
windows = webdriver.Chrome(options=option)   # 将无界面对象传入, 有界面的就可以不传入,直接创建对象即可 

# 设置浏览器窗口大小, (这里设置无界面模式,可以不设置窗口大小的.因为只是后台运行)
# windows.set_window_size(1920, 1080)  # 指定窗口大小
windows.maximize_window()     # 窗口最大化

""" 第四步: 访问网页:  这里我们访问 csdn页面: https://www.csdn.net"""
url = 'https://www.csdn.net'
windows.get(url)     # 这里get方法就是模拟人为输入网址

""" 第五步: 获取网页源码"""
source = windows.page_source
print(source)

 这个时候就会发现源码有返回, 但是没有窗口弹出的原因,就在于设置无界面模式

!!! 一般我们写爬虫自动化开发的时候,无界面模式一般最后添加进去. 

        为的是写一部分然后运行自动化看看有无错误, 方便开发,最后添加无界面为了方便使用

2. 加载网页的常见操作:

# (1) 创建driver对象
driver = webdriver.Chrome()  # 这里是大写Chrome
# (2) 访问起始url地址
start_url = 'https://www.csdn.net'
driver.get(start_url)
# (3) 将网页生成图片 , 其实就是访问成功后截图, 如果访问有小姐姐的网址截图是不是很nice.嘻嘻嘻
driver.save_screenshot('csdn.png') 
# (4) 根据element(网页的意思)内容, 进行定位 后面详细了解

# (5) 获取element 的源码
driver.page_source  # 可以用变量接收,然后打印观察哦

# (6) 打印网页的标题
print(driver.title)
# (7) 获取cookie   
driver.get_cookies()
# (8) 退出当前网页, 有时候需要访问多个网页, 这个只是关闭其中一个
driver.close()
# (9) 退出浏览器,  退出就全部关闭了
driver.quit()


 3. webdriver 操作浏览器的方式

# (1) 最大化浏览器
driver.maximize_window()

# (2)刷新
driver.refresh()

# (3)后退
driver.back()

# (4)前进
driver.forward()

# (5)设置浏览器大小
driver.set_window_size(100, 200)

# (6)设置浏览器的位置
driver.set_window_position(300, 200)  # 这个单位: 像素

# (7)关闭网页窗口和关闭整个浏览器
"""上面有哦"""

  4.标签定位方法 

        介绍9中定位方法,是因为方便应对不同情况, xpath和css_select可以直接element中右键复制.

# (1) 根据标签的属性id定位
driver.find_element_by_id('').send_keys(&
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值