Selenium + Python自动化环境搭建

640?wx_fmt=jpeg


作者 | 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 webdriverimport time

# 通过指定webdriver路径的方式,初始化webdriverfirefox_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()


执行后,可以得到一个通过百度进行检索的画面截图。


640?wx_fmt=png


第一个selenium脚本就结束。通过selenium可以实现web自动化,通过对比页面上的元素的内容,是否与预想的一致,就可以实现测试的自动化。


(*本文仅代表作者观点,转载请联系原作者)


公开课预告

5月9日晚8点

本次公开课,我们先从 Python 服务器后台开发开始,详解服务端压力的来源,教你对系统瓶颈的原因进行定位,并出分析思路。还会基于 Python 进行多任务优化,并教你如何处理高峰值流量问题。


关于课程更详细的知识点,请识别二维码查看。


640?wx_fmt=jpeg


点击“阅读原文”,了解更多活动信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值