大家好,今天给大家带来的是Selenium自动化。
介绍
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。
安装
pip install selenium
原理
selenium原理说简单点就是通过检索元素来触发指定事件来完成自动化。
初始化
初始化很简单:
导入模块
from selenium import webdriver
启动驱动
browser=webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
打开网页
browser.get('http://www.kugou.com/')
元素检索
在selenium里检索元素有八个方法:
id
name
className
tagName
linkText
partialLinkText
xpath
cssSelector
这边我们只介绍简单的六个,一般的掌握了这六个也够用了。
1)查找元素的ID。
browser.find_element_by_id("Element's id")
2)通过元素的name来定位。
browser.find_element_by_name("Element's name")
3)通过所应用的样式表名className。
browser.find_element_by_class_name("class name")
4)通过CSS应用特征。
find_element_by_css_selector("a[id='id']")
5)通过链接的文本。
browser.find_element_link_name("link name")
6)通过XPATH定位。
browser.find_element_by_xpath("//***[*='**']")
这边我们可以实现一个简单的酷狗听歌的脚本:
from selenium import webdriver
browser=webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
browser.get('http://www.kugou.com/')
input1=browser.find_element_by_css_selector('[type="text"]').send_keys('体面')
button1=browser.find_element_by_css_selector('.searh_btn').click()
checkbox1=browser.find_element_by_css_selector('.search_icon.checkall').click()
button2=browser.find_element_by_css_selector('.play_all').click()
基础好的可以试试360 haosou.com 的测试 :
#coding=utf-8
from selenium import webdriver
import os
import time
# set little time stop and big time stop for viewing changes
little_time_stop = 1
big_time_stop = 2
# 默认广告条数
ads_num_require = 8
# 请求连接
req_url = "http://www.haosou.com/s?ie=utf-8&shb=1&src=360sou_newhome&q=%E9%B2%9C%E8%8A%B1"
# 打开浏览器
browser = webdriver.Chrome()
# 开始请求
browser.get(req_url)
# 获取所有的广告
all_ads_li = browser.find_elements_by_css_selector('#e_idea_pp li')
# 当前广告条数
ads_num_current = len(all_ads_li)
print ("Has been got %d ads" %(ads_num_current))
# 如果广告条数与默认不符
if ads_num_current < ads_num_require:
print("The number of ads is not enough ( current : %d require: %d)" %(ads_num_current,ads_num_require))
# exit()
# 获取顶部连接
i = 0
for ads_li in all_ads_li:
time.sleep(big_time_stop)
i = i+1
print ("ads %d :" %i)
try:
main = ads_li.find_element_by_css_selector('h3 a')
except:
print ("\tError: ads %d cann't find" %(i))
else:
print ("\tReady: visit ads %d" %(i))
main.click()
print ("\tSucess: visit ads %d" %(i))
time.sleep(little_time_stop)
try:
img_link = ads_li.find_element_by_class_name('e_biyi_img')
except:
print ("\tError : no img in ads %d " %(i))
else:
print ("\tReady : visit img_link %d" %(i))
img_link.click()
print ("\tSuccess : visit img_link %d" %(i))
time.sleep(little_time_stop)
try:
child_div = ads_li.find_element_by_class_name('e_biyi_childLink');
except:
print ("\tError : no child link in ads %d" %(i))
else:
try:
child_links = child_div.find_elements_by_css_selector('a')
except:
print ("\tError : find child_links error")
else:
num_links = len(child_links)
print ("\tSuccess : there are %d child_links" %(num_links))
j = 0
for child_a in child_links:
j = j + 1
print ("\t\tReady : visit child link %d in ads %d" %(j, i))
child_a.click()
print ("\t\tSuccess : visit child link %d in ads %d" %(j, i))
time.sleep(little_time_stop)
print ("End and thanks for your using!")
# 下面代码选择取消注释
# 延时
time.sleep(5)
# 关闭当前窗口
browser.close()
# 关闭所有已经打开的窗口
browser.quit()
下期见!
相关推荐
pythonselenium自动化入门.pptx
**Python+Selenium自动化测试入门** Selenium是一款强大的开源测试工具,专用于Web应用程序的自动化测试。它可以在浏览器中运行测试,模拟真实用户的行为,支持Firefox、IE、Mozilla等多种浏览器,并且兼容JAVA、C#...
【Python+Selenium自动化入门讲义】是一份专为初学者设计的自动化测试教程,涵盖了从基础知识到实践操作的全面内容。这份讲义旨在帮助对自动化测试感兴趣的朋友们快速掌握Python和Selenium的基本用法,实现网页应用...
而掌握这些知识点,不仅可以帮助初学者入门Web自动化测试,也可以让有基础的技术人员更深入地理解和应用Python与Selenium的结合,有效提高测试效率和质量。正如书中所言,师傅领进门,修行靠个人,只有通过不断的...
Selenium是一个主要用于Web应用程序自动化测试的工具集合,在行业内已经得到广泛的应用。...《Selenium自动化测试 基于Python语言》适合任何软件测试人员阅读,也适合作为大专院校师生的学习用书和培训学校的教材。
本文介绍的是一本关于Selenium自动化测试的实践指南,它以Python语言为编程基础,提供了一系列自动化测试的实践技巧和实例。以下知识点将详细介绍书中所涉及的关键内容。 首先,了解Selenium。Selenium是一个用于...
python+selenium自动化测试技术入门手册,不错的讲解。
### selenium2 Python自动化测试实战知识点概览 #### 一、Selenium简介与Python结合的重要性 - **Selenium**是一款用于Web应用程序测试的工具,能够模拟真实用户行为进行自动化测试,支持多种浏览器(如Chrome、...
python+selenium自动化入门教程ppt版本,里面写了简易python+selenium自动化的安装教程和实现方法
在本篇学习笔记中,我们将深入探讨"Selenium2 Python 自动化测试"这一主题,它是一种广泛应用于Web应用测试的技术,结合Python编程语言,能够实现高效、可维护的自动化测试用例。Selenium2(也被称为Selenium ...
《Selenium2 Python 自动化测试实战》是一本专注于使用Python和Selenium2进行Web自动化测试的专业书籍。这本书详尽地介绍了如何利用Selenium2这个强大的工具,配合Python语言,来构建高效、可靠的自动化测试框架,以...
### Selenium2 Python自动化测试项目实战知识点解析 #### 一、Selenium2与Python自动化测试概述 **Selenium2**是一个广泛使用的开源自动化测试框架,它支持多种浏览器和编程语言,如Java、Python等。其中,...
总的来说,《Selenium2Python自动化测试实战》一书作为入门学习资料非常合适,它不仅包含了 Selenium 和 Python 的基础知识,同时也分享了很多实践中的技巧和经验。对于想要入门 Web 自动化测试的初学者来说,这本书...
selenium+python适用于firefox浏览器,可作为入门参考
Python自动化测试教程,从零基础开始手把手有详细的步骤教你怎么写自动化测试用例。测试人员大多是希望利用编程诧言来帮劣他实现自劢化的测试,而丌需要花费大量的精力来学习一门编程诧言,所以在本文档中丌会过多...