作者 | PythonAI
来源 | 知之Python(ID:pythonpie)
Selenium是一系列基于Web的自动化工具,提供一套函数,用于支持Web自动化。函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较。具有如下特点:
多浏览器支持,可以对多浏览器进行测试,如IE、Firefox、Safari、Chrome等浏览器。
支持多种语言,如Python、Java、C#、Ruby、PHP等。
支持多种操作系统,如Windows、Linux、MacOS等。
开源免费,官网:http://www.seleniumhg.org/
目前,selenium经常被用于自动化测试和网络爬虫。在这里简单介绍一下selenium的配置,并运行第一个selenium脚本。
环境搭建
默认读者对Python非常熟悉,能够自动按转Python环境。在已有的Python环境中安装Selenium可以使用pip命令:
$ pip install -U selenium
执行完上述命令后,selenium就安装好了。在使用selenium执行自动化,之前需要先设置webdriver。
WebDriver简介
selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口。selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web-app测试。
WebDriver的安装首先需要下载适合自己操作系统的webdriver,并放置在合适的目录。并将WebDriver放到系统的环境变量PATH中。下载地址如下:
https://docs.seleniumhq.org/download/
如果,没有配置PATH,需要在初始化WebDriver的时候,指定WebDriver路径。
第一个脚本
from selenium import webdriver
import time
# 通过指定webdriver路径的方式,初始化webdriver
firefox_driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
# 加载页面。get方法会一直等到页面被完全加载,然后才会继续程序
firefox_driver.get('https:www.baidu.com')
# 给页面的输入框,输入数据
firefox_driver.find_element(value='kw').send_keys('selenium')
# 点击页面的查询按钮
firefox_driver.find_element(value='su').click()
time.sleep(5)
# 使用xpath来查找页面元素
html = firefox_driver.find_element_by_xpath("//div/h3/a/em[text()='selenium']").text
# 保存当前页面的截图
firefox_driver.save_screenshot('baidu.png')
print(html)
# 退出webdriver的浏览器
firefox_driver.quit()
执行后,可以得到一个通过百度进行检索的画面截图。
第一个selenium脚本就结束。通过selenium可以实现web自动化,通过对比页面上的元素的内容,是否与预想的一致,就可以实现测试的自动化。
(*本文仅代表作者观点,转载请联系原作者)
公开课预告
◆
5月9日晚8点
◆
本次公开课,我们先从 Python 服务器后台开发开始,详解服务端压力的来源,教你对系统瓶颈的原因进行定位,并出分析思路。还会基于 Python 进行多任务优化,并教你如何处理高峰值流量问题。
关于课程更详细的知识点,请识别二维码查看。
❤点击“阅读原文”,了解更多活动信息。