selenium入门编程总结学习于龙腾)
"""
编程题
打开 http://ip/ecshop/wwwroot/admin/privilege.php?act=login
登录(admin/123456)
点击商品管理-》添加新商品-》输入商品名称:dell电脑、分类:电脑、价格:3999,点击添加
断言是否添加成功page_source有没有添加商品成功。
""" from selenium import webdriver
from time import sleep # 启动Chrome
# driver = webdriver.Chrome()
driver = webdriver.Firefox() # 该处修改,输入商品名后,概率性出现输入文字后,又自动被清空。验证是否是浏览器影响
# 最大化窗口
driver.maximize_window() driver.get('http://ip/newecshop/admin/privilege.php?act=login')
driver.find_element('name', 'username').send_keys('admin')
driver.find_element('name', 'password').send_keys('123456')
driver.find_element('name', 'remember').click()
driver.find_element('class name', 'button2').click() sleep(0.1)
# driver.save_screenshot(r'F:\1.png')
driver.switch_to.frame('header-frame') # 切换到顶部frame
exit_text = driver.find_elements('link text', '退出')
# assert u'退出' in exit_text
if len(exit_text) > 0: # 判断是否登录成功
print('登陆成功!!!') driver.switch_to.parent_frame() # 切换到父类frame
driver.switch_to.frame('menu_frame') # 切换到商品列表所在frame driver.find_element('link text', '商品管理').click() # 点击商品管理
sleep(0.1)
driver.find_element('link text', '添加新商品').click() # 添加新商品 driver.switch_to.parent_frame() # 切换到父类frame
driver.switch_to.frame('main_frame') # 切换到添加商品详情页面所在frame
sleep(0.1)
newsGoods_list = driver.find_elements('id', 'search_id')
if len(newsGoods_list) > 0: # 判断是否登录成功
print('进入>>管理中心- 添加新商品') sleep(3)
driver.find_element('name', 'goods_name').send_keys('dell电脑') # 输入商品名称:dell电脑 sleep(1)
driver.find_element('id', 'cat_name').send_keys('电脑') # input框只能send_key()
du_box = driver.find_elements('class name', 'level0')
print(len(du_box))
du_box[-1].click() # 该位置非select下拉框,不能直接选择,且元素ID是动态变化的,所有需要先部分搜索再取列表选择
# sleep(3) 该下拉框有毒
# driver.find_element('xpath', '/html/body/div[2]/div[2]/form/table[1]/tbody/tr[3]/td[2]/div/ul/li[25]/a/span[2]').click() sleep(2) # 先清空默认值0,再输入价格
driver.find_element('name', 'shop_price').clear() # 输入本地售价
driver.find_element('name', 'shop_price').send_keys('3999')
driver.find_element('id', 'goods_info_submit').click() # 保存 # 判断页面文字提示
# add_suc = driver.find_element('css selector', 'body > div.list-div > div > table > tbody > tr:nth-child(1) > td:nth-child(2)').text
# print(add_suc)
# assert u'添加商品成功。' in add_suc sleep(1)
# 判断源码中是否包含添加商品成功
page_sc = driver.page_source
assert u'添加商品成功。' in page_sc sleep(5) # 缓口气
driver.quit()
selenium入门编程总结学习于龙腾)的更多相关文章
- 自动化测试Java一:Selenium入门
From: https://blog.csdn.net/u013258415/article/details/77750214 Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介 ...
- Selenium自动化测试Python一:Selenium入门
Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件 ...
- Struts2入门3 深入学习
Struts2入门3 深入学习 处理结果和异常 前言: Struts学习的差不多了,还有最后的一点就收官了就是结果处理和异常处理.前面学习Struts主要围绕就是Action以及struts.xml配 ...
- 【转】50条大牛C++编程开发学习建议
每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真 ...
- 免考final linux提权与渗透入门——Exploit-Exercise Nebula学习与实践
免考final linux提权与渗透入门--Exploit-Exercise Nebula学习与实践 0x0 前言 Exploit-Exercise是一系列学习linux下渗透的虚拟环境,官网是htt ...
- 前端PHP入门-001-为什么学习PHP?
写在前面的话 可能不知道能坚持多久,现在的我喜欢纯文字的描述! 希望能坚持写完,也是对自己的一个鞭策! 总顾及别人,那谁来顾及你! 为什么学习PHP? PHP入门简单,学习入门易入手[呵呵,都这么说, ...
- 50条大牛C++编程开发学习建议
每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真 ...
- msp430入门编程50
msp430中项目编程套路 msp430入门编程 msp430入门学习
- msp430入门编程47
msp430中C语言的人机交互--菜单退出 msp430入门编程 msp430入门学习
随机推荐
- ls -bash: ls: command not found
ls -bash: ls: command not found原因:在设置环境变量时,编辑profile文件没有写正确,导致在命令行下 ls等命令不能够识别.解决方案: export PATH=/us ...
- 扯扯Java中的锁
前言 又过去了一个周末,最近陆陆续续的看了<并发编程的艺术>一书,对锁有不少感悟,这次就聊聊Java中的锁事.本文纯粹是漫谈,想到哪说到哪,但准确性肯定会保证,倘若有不正确之处,还请交流指 ...
- Intellij IDEA 快速查找接口实现类的快捷键
查找接口的实现类: IDEA 风格 ctrl + alt +B 在按F2查看详细文档注解 查看类或接口的继承关系: ctrl + h
- 编程小白的第一本python入门书电子版|百度网盘分享无偿获取|评分超高的python教材
点此进入网盘下载提取码:cr74 为了能让更多的编程小白轻松地入门编程,把高效学习法结合 Python 中的核心知识,写成了这本书.随意翻上几页,你就会发现这本书和其他编程书的不同,其中有大量的视觉化 ...
- Python for循环通过序列索引迭代
Python for 循环通过序列索引迭代: 注:集合 和 字典 不可以通过索引进行获取元素,因为集合和字典都是无序的. 使用 len (参数) 方法可以获取到遍历对象的长度. 程序: strs = ...
- 对于AES和RSA的个人理解
最近学习爬虫 遇到一些加密的坑 然后了解到了AES和RSA 记录一下 AES 1.什么是AES AES是一种对称的加密算法,运行要求低,不需要计算机有非常高的处理能力和大的内存, 加密速度很快: 对 ...
- luogu P4724 模板 三维凸包
LINK:三维凸包 一个非常古老的知识点.估计也没啥用. 大体上了解了过程 能背下来就背下来吧. 一个bf:暴力枚举三个点 此时只需要判断所有的点都在这个面的另外一侧就可以说明这个面是三维凸包上的面了 ...
- Hadoop学习之第一个MapReduce程序
期望 通过这个mapreduce程序了解mapreduce程序执行的流程,着重从程序解执行的打印信息中提炼出有用信息. 执行前 程序代码 程序代码基本上是<hadoop权威指南>上原封不动 ...
- Hibernate 映射
在使用单纯hibernate文件映射时,项目应包含以下文件: hibernate.cfg.xml 放在src/或根目录下 1 <?xml version='1.0' encoding='utf ...
- 使用Flask开发简单接口(3)--引入MySQL
前言 前面的两篇文章中,我们已经学习了通过Flask开发GET和POST请求接口,但一直没有实现操作数据库,那么我们今天的目的,就是学习如何将MySQL数据库运用到当前的接口项目中. 本人环境:Pyt ...