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. bzoj1178/luogu3626 会议中心 (倍增+STL::set)

    贪心地,可以建出一棵树,每个区间对应一个点,它的父亲是它右边的.与它不相交的.右端点最小的区间. 为了方便,再加入一个[0,0]区间 于是就可以倍增来做出从某个区间开始,一直到某个右界,这之中最多能选 ...

  2. hdu5242 Game (贪心+dfs序)

    dfs序后用线段树来记每个节点的前缀和 每次找一个前缀和最大的节点,然后把它到根的路径上的每个之前没被走过的点 对应的dfs序的区间 减掉那个点的权值 每个点最多被减一次,复杂度是$O(nlogn)$ ...

  3. Libre 6004 「网络流 24 题」圆桌聚餐(网络流,最大流)

    Libre 6004 「网络流 24 题」圆桌聚餐(网络流,最大流) Description 假设有来自n个不同单位的代表参加一次国际会议.每个单位的代表数分别为 ri.会议餐厅共有m张餐桌,每张餐桌 ...

  4. Linux上防火墙开放对应的端口

    在Linux上防火墙开放对应的端口的命令如下: 方式一: [root@localhost sbin]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACC ...

  5. gulp入门教程(转)

    一.gulp简介     1.gulp是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自 ...

  6. Ubantu里面的Sublime Text3不支持中文的解决办法

    参考的大佬链接:https://github.com/lyfeyaj/sublime-text-imfix 更新然后将系统升级到最新版本,在linux终端输入 sudo apt-get update ...

  7. 【Linux】MySQL安装及允许远程访问

    安装环境/工具  Linux( centOS 版) MySQL(MySQL-5.6.28-1.el7.x86_64.rpm-bundle.tar版) 安装步骤 1.解压mysql安装文件 命令:tar ...

  8. CF876 F 思维 枚举

    给你n个数,问有几个区间满足,区间内或操作大于区间内的任意数. 首先可以知道,两数或操作的结果必定不会小于两者间的最大值,也就是说对于一个区间中,不合法的状态只有两值或相等.那么我们可以考虑枚举每个数 ...

  9. JMS学习(三)ActiveMQ Message Persistence

    1,JMS规范支持两种类型的消息传递:persistent and non-persistent.ActiveMQ在支持这两种类型的传递方式时,还支持消息的恢复.中间状态的消息(message are ...

  10. javascript 简单工厂模式

    var Bicycle = new Interface("Bicycle",["assemble","wash","ride&qu ...