import requests
import sys
import io
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import Select


sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8') #改变标准输出的默认编码


browser = webdriver.Chrome('C:\chromedriver.exe')


#登录页面
url = r'http://192.168.102.103:8080/mu/'


# 访问登录页面
browser.get(url)


# 等待一定时间,让js脚本加载完毕
browser.implicitly_wait(3)


#输入用户名
username = browser.find_element_by_id('username')
username.send_keys('admin')


#输入密码
password = browser.find_element_by_id('password')
password.send_keys('11111')


#点击“登录”按钮
login_button = browser.find_element_by_xpath('//td/img[1]')
login_button.click()


browser.switch_to.frame(browser.find_element_by_xpath('/html/frameset[1]/frameset[1]/frameset[1]/frameset[1]/frame[2]'))


butten = browser.find_element_by_id('Bar_panel2_c')
butten.click()


butten = browser.find_element_by_xpath('//div[@id="Bar_panel2_b0"]/img[1]')
actions = ActionChains(browser)
actions.click(butten)
actions.perform()


browser.switch_to.default_content();
browser.switch_to.frame(browser.find_element_by_xpath('/html/frameset[1]/frameset[1]/frameset[2]/frameset[1]/frame[2]'))


link = browser.find_element_by_link_text("aaa")
print(link.get_attribute('href'))



#butten = browser.find_element_by_xpath('//table[@id="table0"]/tbody/tr[5]/td[1]/input[1]')
butten = browser.find_element_by_xpath('//input[@value=" 添 加 "]')
butten.click()


select = Select(browser.find_element_by_id('centerId'))
select.select_by_index(1)


editIP = browser.find_element_by_id('serverIp')
editIP.send_keys('127.0.0.1')


editname = browser.find_element_by_id('serverName')
editname.send_keys('name')


editname = browser.find_element_by_id('keepAlivePeriod')
editname.send_keys('59')


editloginname = browser.find_element_by_id('serverLoginName')
editloginname.send_keys('admin')


editlocation = browser.find_element_by_id('installLocation')
editlocation.send_keys('安装位置')


editdesc = browser.find_element_by_id('description')
editdesc.send_keys('设备描述')


#网页截图
browser.save_screenshot('C:/picture1.png')
#打印网页源代码
#print(browser.page_source.encode('utf-8').decode())


browser.implicitly_wait(10)


browser.quit()

 

selenium自动测试的更多相关文章

  1. 用Selenium自动化测试时,让ChromeDriver中不显示“正受到自动测试软件控制”

    背景: 在用Selenium做自动化测试的时候,默认ChromeDriver是会提示“Chrom正受到自动测试软件控制”的.如下图这样.但我们有些场景下,不希望这个提示出现.本文探索了几种语言去掉这个 ...

  2. 开源you-get项目爬虫,以及基于python+selenium的自动测试利器

    写在前面 爬虫和自动测试,对于python来说是最合适不过也是最擅长的. 开源的项目也很多,例如you-get项目https://github.com/soimort/you-get.盗链和爬虫神器. ...

  3. [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图

    前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能.        [Pyth ...

  4. Nightwatch.js – 轻松实现浏览器的自动测试

    Nightwatch.js 是一个易于使用的,基于 Node.js 平台的浏览器自动化测试解决方案.它使用强大的 Selenium WebDriver API 来在 DOM 元素上执行命令和断言. 语 ...

  5. PHP自动测试框架Top 10

    对于很多PHP开发新手来说,测试自己编写的代码是一个非常棘手的问题.如果出现问题,他们将不知道下一步该怎么做.花费很长的时间调试PHP代码是一个非常不明智的选择,最好的方法就是在编写应用程序代码之前就 ...

  6. Qtp自动测试工具

    QTP是基于GUI界面的自动化测试工具,用于系统的功能测试. QTP录制的是鼠标和键盘的消息.QTP录制回放时基于windows操作系统的消息机制.QTP在录制时监听应用程序的消息,监听到之后把消息放 ...

  7. 自动测试工具(Jmeter,qtp等)

     loadrunner.Selenium.QTP三者区别?    Loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试.  Selenium是开源的web自动测试工具,免费 ...

  8. Android WebDriver 浏览器自动测试工具介绍

    Selenium WebDriver 是浏览器自动测试工具,提供轻量级和优雅的方式来测试web应用.Selenium WebDriver作为Android SDK extra,支持Android 2. ...

  9. 使用 PHPUnit 和 Selenium 进行测试

    适用于 PHP 的 NetBeans IDE 支持 PHPUnit 自动测试.通过 PHPUnit,NetBeans IDE 可为 PHP 提供代码覆盖率,这与 IDE 为 Python 提供的代码覆 ...

随机推荐

  1. Nginx多进程高并发、低时延、高可靠机制在缓存代理中的应用

    1. 开发背景 现有开源缓存代理中间件有twemproxy.codis等,其中twemproxy为单进程单线程模型,只支持memcache单机版和redis单机版,都不支持集群版功能. 由于twemp ...

  2. 解题:CTSC 2006 歌唱王国

    题面 概率生成函数 对于菜鸡博主来说好难啊 其一般形式为$F(x)=\sum\limits_{i=0}^∞[x==i]x_i$,第i项的系数表示离散变量x取值为i的概率 一般的两个性质:$F(1)=1 ...

  3. Python常用模块-摘要算法(hashlib)

    Python常用模块-摘要算法(hashlib) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MD5算法参数详解 1.十六进制md5算法摘要 #!/usr/bin/env p ...

  4. [转载]Frontend Knowledge Structure

    https://github.com/JacksonTian/fks http://code.csdn.net/news/2819224 本文为大家整理了一系列关于JavaScript的常用工具,包括 ...

  5. stickey-footer实现footer固定页面底部

    先看看实现效果:http://getbootstrap.com/2.3.2/examples/sticky-footer.html 当一个网页比较简单,内容比较少使得网页不足浏览器高的时候,为了显示更 ...

  6. HDU 1867 A + B for you again 字符匹配

    解题报告:给你两个字符串,让你连接起来,没有前后顺序,要求是长度最短优先,其次是字典序最小.这题我用的是KMP,做两次匹配,分别把第一次跟第二次输入的字符串放前面,然后比较两次得到的字符窜的长度和字典 ...

  7. 自己动手开发Socks5代理服务器

    一.Socks5协议简介 socks5是基于传输层的协议,客户端和服务器经过两次握手协商之后服务端为客户端建立一条到目标服务器的通道,在传输层转发TCP/UDP流量. 关于socks5协议规范,到处都 ...

  8. 月薪20K软件测试自动化岗必问面试题:验证码识别与处理

    本文乃Happy老师的得意门生来自java全栈自动化测试4期的小核桃所作.正所谓严师出高徒,笔下有黄金~~让我们一起来征服面试官吧~~ 在做自动化测试的时候,经常会遇到需要输入验证码的地方,有些可以让 ...

  9. 数位dp(D - How Many Zeroes? LightOJ - 1140 )

    题目链接:https://cn.vjudge.net/contest/278036#problem/D 题目大意:T组测试数据,每一次输入两个数,求的是在这个区间里面,有多少个0,比如说19203包括 ...

  10. Android Studio 新建drawable-hdpi、drawable-mdpi等

    在不同的模式“Project” / “Android”的文件夹中查看文件夹.如果文件夹丢失,您可以轻松添加它们. 1.在“res”文件夹上右键“New”->”Android Resource D ...