selenium自动化webdriver API初识
【摘要】 大家好,我是bug郭,一名双非科班的在校大学生。对C/JAVA、数据结构、Spring系列框架、Linux及MySql、算法等领域感兴趣,喜欢将所学知识写成博客记录下来。 希望该文章对你有所帮助!如果有错误请大佬们指正!共同学习交流作者简介:CSDN java领域新星创作者blog.csdn.net/bug…掘金LV3用户 juejin.cn/user/bug…阿里云社区专家博主,星级博主,...
大家好,我是bug郭,一名双非科班的在校大学生。对C/JAVA、数据结构、Spring系列框架、Linux及MySql、算法等领域感兴趣,喜欢将所学知识写成博客记录下来。 希望该文章对你有所帮助!如果有错误请大佬们指正!共同学习交流
作者简介:
- CSDN java领域新星创作者blog.csdn.net/bug…
- 掘金LV3用户 juejin.cn/user/bug…
- 阿里云社区专家博主,星级博主,developer.aliyun.com/bug…
- 华为云云享专家 bbs.huaweicloud.com/bug…
@TOC
webdriver API
一个简单自动化脚本的构成如下
'''
简单自动化测试脚本基本结构
'''
# 防止乱码,编译器下默认是utf-8可以省略!
# coding = utf-8
# 导入selenium中的webdriver工具包为了获取浏览器的控制驱动!
from selenium import webdriver
# 导入时间模块,设置暂停时间为了更好的看到自动化测试效果
import time
# 获得Chrome浏览器的驱动,需要先安装了与之对应的浏览器驱动包
driver = webdriver.Chrome()
#在浏览器中打开url链接
driver.get('https://www.csdn.net/')
# 暂停3秒,为了更好的看到执行效果
time.sleep(3)
# 通过元素的id定位到需要操作的元素,并且向元素输入响应的文本内容
driver.find_element_by_id('toolbar-search-input').send_keys('bug郭')
time.sleep(3)
# 这里定位到元素,执行点击操作
driver.find_element_by_id('toolbar-search-button').click()
time.sleep(3)
# 退出并关闭窗口
driver.quit()
运行效果:
dirver.close()
也可以关闭窗口。两者的区别是:
close
方法关闭当前的浏览器窗口,quit
方法不仅关闭窗口,还会彻底的退出webdriver
,释放与driverserver
之间的连接。所以简单来说quit
是更加彻底的close
,quit
会更好的释放资源!
元素定位
对象定位是自动化测试脚本的核心,要想操作一个对象,我们要想拿到这个对象,而一个对象就和人一样有各种特征属性:我们可以通过一个人的姓名,身份证号,住址找到这个人!而我们html元素也一样!
- id
- name
- class name
- link text
- partial link text
- tag name
- xpath
- css selector
通过上面的属性我们都可以定位到一个元素!
但是需要注意的是我们要获取的对象有该属性,并且属性值唯一才可进行定位!
通过多种定位方式对百度的输入框进行定位!
# 多种定位方式定位到百度的输入框!
import time
from selenium import webdriver
# 拿到谷歌的驱动
driver = webdriver.Chrome()
# 使浏览器窗口最大化
driver.maximize_window()
# 打开百度的url
driver.get('https://www.baidu.com/')
time.sleep(3)
# 多种方式定位到百度输入框!
# 1.通过id进行定位
driver.find_element_by_id('kw').send_keys('鸡')
time.sleep(1)
# 2.通过name进行定位
driver.find_element_by_name('wd').send_keys('你')
time.sleep(1)
# 3.通过classname进行定位
driver.find_element_by_class_name('s_ipt').send_keys('太')
time.sleep(1)
# 4.通过css进行定位
driver.find_element_by_css_selector('#kw').send_keys('美')
time.sleep(1)
# 5.通过xpath进行定位
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('!')
time.sleep(1)
# 6.通过tag name进行定位,这里type属性不唯一所以定位失败!
#driver.find_element_by_tag_name('text').send_keys('!')
# 定位到搜索按钮然后会车
driver.find_element_by_id('su').click()
time.sleep(3)
# 关闭浏览器并且关闭webdriver连接
driver.quit()
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)