开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情
Selenium是一个很强大的工具,这些工具是用来支持浏览器的自动化的,如果要通过selenium来测试网页,将通过WebDriver来使用浏览器提供的API来模拟用户操作浏览器,极大的简化了爬虫工作。为了更好的学习selenium,首先介绍一下WebDriver:
WebDriver如何模拟用户操作浏览器呢?是通过一个驱动程序与浏览器进行通信和发送命令,WebDriver是一个API和协议,用于处理Selenium与浏览器之间的通信。
驱动程序:驱动程序的作用是控制浏览器,驱动程序一般是和浏览器一起运行在系统上的可执行模块。不同的浏览器的驱动程序不同,比如chorme是使用的ChormeDriver,而Firefox使用的是GeckoDriver。
Selenium
Selenium的主要功能是用来远程控制浏览器,并模拟用户与浏览器进行交互,比如点击页面的按钮、执行js、控制鼠标移动、输入文本内容到浏览器的输入框等等。了解了WebDriver和Selenium的关系后大致就可以推断出安装Selenium的步骤:
安装Selenium的步骤
- 安装Selenium类库(库的安装依据所使用的编程语言)
- 配置浏览器驱动(WebDriver)
简单使用
定位
使用Selenium定位到我们需要操作的元素:
//通过id定位到元素
driver.find_element_by_id('test');
//通过name定位到元素
driver.find_element_by_name('test');
//定位标签 <input name='test'>
deiver.find_element_by_tag_name('input');
//link定位 <a href="http://baidu.com" target="_blank" class="test">menu</a>
driver.find_element_by_link_text('menu')
driver.find_element_by_partial_link_text('me')//模糊查询
//class定位:通过class属性来定位到元素 <a class='test' name='a'>menu</a>
driver.find_element_by_class_name('test')
鼠标事件
1)鼠标悬停:move_to_element() 2)鼠标拖动:drag_and_drop(source,target) //source是鼠标拖动的源元素,target是鼠标拖动的目标元素。
通过以上简单介绍和入门应用可以对Selenium有一个大致了解。