爬虫入门学习(六)Selenium学习与实战

1 Selenium简介及应用场景

  • 简介
    Selenium是一个用于测试网站的自动化测试工具,利用它可以驱动浏览器执行特定的动作(即模拟人的操作),如点击、下拉等。它支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。
  • 应用场景(针对爬虫)
    正对一些JavaScript动态渲染的页面,使用Selenium抓取网页源码非常有效,可以模拟人,做到可见即可爬。
    中文官方文档(Selenium-Python)
    英文官方文档(Selenium-Python
    英文官方文档(混合语言

2 Selenium安装及配置

  • 安装Selenium
    安装比较简单,建议直接用pip安装
# 安装
pip install selenuim
# 测试
import selenium
  • 安装ChromeDriver
    Selenium需要浏览器来配合使用,这里我们使用Chrome浏览器,然后我们需要配置ChromeDriver驱动。
    这里需要注意浏览器的版本和浏览器的版本ChromeDriver驱动需要一致才行。
    查看 浏览器版本:Chrome菜单–>帮助–>关于Google Chrome即可查看,剩下的就是在ChromeDriver官网下载对应版本的ChromeDriver就可以了。
  • 配置ChromDriver的环境变量
    方法一:Windows下建议直接将chromedriver.exe文件直接拖拽到Python的Scripts目录下。
    方法二:把chromedriver.exe文件所在目录设为配置到环境变量。j具体:我的电脑–>属性–>高级系统设置–>环境变量–>系统变量–>Path,将上述路径目录添加到Path的值中。
  • 测试Selenium和ChromeDriver是否安装成功
    在Python IDLE
from selenium import webdriver

driver = webdriver.Chrome()

成功的话,会如下显示:
在这里插入图片描述

3 Selenium基本使用方法

这里仅仅列出了一些最常用的Selenium使用方法,更多的使用方法请参照中文官方文档(Selenium-Python)或者英文官方文档(Selenium-Python

3.1 查找、定位节点

Selenium提供了8种方法和一个通用函数版本来定位单个节点,同时也相应的提供了8种方法和一个通用函数版本来定位多个节点。
具体见下表:

定位方式 定位一个节点 定位多个节点
通过class name find_element_by_class_name(name) find_elements_by_class_name(name)
通过css selector find_element_by_css_selector(css_selector) find_elements_by_css_selector(css_selector)
通过id find_element_by_id(id_) find_elements_by_id(id_)
通过link_text find_element_by_link_text(link_text) find_elements_by_link_text(link_text)
通过name find_element_by_name(name) find_elements_by_name(name)
通过partial_link_text find_element_by_partial_link_text(link_text) find_elements_by_partial_link_text(link_text)
通过tag_name find_element_by_tag_name(name find_elements_by_tag_name(name
通过xpath find_element_by_xpath(xpath) find_elements_by_xpath(xpath)
通用方法 find_element(by=‘id’, value=None) find_elements(by=‘id’, value=None)
通用方法示例 elements = driver.find_element(By.CLASS_NAME, ‘foo’) elements = driver.find_elements(By.CLASS_NAME, ‘foo’)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值