selenium常用的API(七)判断元素是否可见
web页面不可见的元素虽不在页面上显示,但是存在于DOM树中,这些元素webdriver也能找到。
element.is_displayed()方法可以判断元素是否在页面上显示,如果显示返回True,否则返回False。
用于测试的HTML代码:
<html>
<head>
<title>HTML中显示与隐藏元素</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function showAndHidden1(){
var div1=document.getElementById("div1");
var div2=document.getElementById("div2");
if(div1.style.display=='block') div1.style.display='none';
else div1.style.display='block';
if(div2.style.display=='block') div2.style.display='none';
else div2.style.display='block';
}
function showAndHidden2(){
var div3=document.getElementById("div3");
var div4=document.getElementById("div4");
if(div3.style.visibility=='visible') div3.style.visibility='hidden';
else div3.style.visibility='visible';
if(div4.style.visibility=='visible') div4.style.visibility='hidden';
else div4.style.visibility='visible';
}
</script>
</head>
<body>
<div>display:元素不占用页面位置</div>
<div id="div1" style="display:block;">DIV 1</div>
<div id="div2" style="display:none;">DIV 2</div>
<input id="button1" type="button" onclick="showAndHidden1();" value="DIV切换" />
<hr>
<div>visibility:元素占用页面位置</div>
<div id="div3" style="visibility:visible;">DIV 3</div>
<div id="div4" style="visibility:hidden;">DIV 4</div>
<input id="button2" type="button" onclick="showAndHidden2();" value="DIV切换" />
</body>
</html>
调用API的代码
# encoding=utf-8
import unittest
import time
from selenium import webdriver class VisitUrl(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(executable_path="e:\\chromedriver") def test_getWebElementIsDisplayed(self):
# 访问自定义的html网页
self.driver.get( "http://127.0.0.1/test_visible.html")
# 通过id="div2"找到第二个div元素
div2 = self.driver.find_element_by_id("div2")
# 判断第二个div元素是否在页面上可见
print div2.is_displayed() # 点击第一个切换div按钮,将第二个div显示在页面上
self.driver.find_element_by_id("button1").click()
# 再次判断第二个div元素是否可见
print div2.is_displayed() # 通过id="div4"找到第四个div元素
div4 = self.driver.find_element_by_id("div4")
# 判断第四个div元素是否在页面上可见
print div4.is_displayed() def tearDown(self):
self.driver.quit() if __name__ == '__main__':
unittest.main()
selenium常用的API(七)判断元素是否可见的更多相关文章
- selenium常用的API
打开浏览器 driver.get("http://www.baidu.com") 最大化浏览器 driver.maximize_window() 关闭浏览器 driver.quit ...
- selenium常用的API(四)设置get方法最大加载时间
我们在进行自动化测试的时候,使用get方法打开页面时会等到页面完全加载完才会执行后续操作, 有时我们需要的元素已加载完成,而部分JS未加载完导致加载时间很长,这无疑增加了自动化测试的时间, 针对此情况 ...
- selenium常用的API(三)获取网页title、html源码
获取网页title 获取页面title的方法可以直接用driver.title获取到,然后可以把获取到的结果用做断言. #encoding=utf-8 from selenium import web ...
- selenium常用的API(一)截屏
我们在使用selenium测试过程中,可使用截屏功能将用例执行失败的画面截图保存,方便测试执行结束后查看并定位问题. 以下介绍两种截屏方法: 对当前浏览器窗口截屏 使用selenium自带的get_s ...
- selenium常用命令之操作页面元素及获取元素内容的事件整理
/**id <input type="text" id="phone" name="phone" class="LoginT ...
- selenium常用的API(六)浏览器窗口切换
当使用selenium webdriver进行自动化测试打开多个窗口的时候,可能需要在不同的窗口间进行切换,webdriver提供的获取浏览器窗口句柄.切换句柄的方法如下: 获取当前窗口句柄 driv ...
- selenium常用的API(五)获取title、刷新、前进和后退
获取网页title的属性值 #encoding=utf-8 from selenium import webdriver import unittest import time class Visit ...
- selenium常用的API(二)浏览器窗口设置
浏览器窗口最大化 # encoding=utf-8 from selenium import webdriver driver = webdriver.Ie(executable_path=" ...
- selenium常用webdriver api汇总
1.driver.current_url:用于获得当前页面的URL 2.driver.title:用于获取当前页面的标题 3.driver.page_source:用于获取页面html源代码 4.dr ...
随机推荐
- 远程控制分析之VBS编码转换
简介 分析这种VBS简单chr()函数编码的脚本技巧.只需要把vbs的execute()函数换成信息输出到控制台(dos窗口)函数就可以了. WSH.Echo "print your mes ...
- Java分布式:分布式锁之Zookeeper
Java分布式:分布式锁之Zookeeper 分布式锁系列教程重点分享锁实现原理 引入ZooKeeper ZooKeeper是什么呢? ZooKeeper 是一个开源的分布式协调服务,它可以在分布式系 ...
- Gerrit - 代码评审工具Gerrit简介与安装
1 - 前言 Code Review 代码评审是指在软件开发过程中,对源代码的系统性检查,改进代码质量,查找系统缺陷,保证软件总体质量和提高开发者自身水平. 简单的说,Code Review是用来确认 ...
- 解决org.springframework.web.multipart.MaxUploadSizeExceededException
今天在spring boot2X 里做文件上传遇到了如下错误 org.springframework.web.multipart.MaxUploadSizeExceededException: Max ...
- c# 字符串递归截取
private void button1_Click_1(object sender, EventArgs e) { string ex = neirong.Text; List<string& ...
- 【记录】【MySQL】拼接字符串函数 CONCAT(str1,str2)
CONCAT(str1,str2) 就是把str1和str2拼接
- Error: Error occured while starting App. Original error: Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity
Error: Error occured while starting App. Original error: Activity used to start app doesn't exist or ...
- Asp Core部署到IIS服务器
之前有文章写了.Asp Core Kestrel服务器可以独立运行在linux下,也可以部署到Docker上面通过容器管理,当然也可以直接部署到IIS中 一:安装环境 1)首先需要在服务器安装对应环境 ...
- 032 SSM综合练习08--数据后台管理系统--jsp页面显示当前用户名
1. 页面端标签控制权限 在jsp页面中我们可以使用spring security提供的权限标签来进行权限控制. (1)在pom文件中导入依赖 <dependency> <group ...
- 【转帖】lsof命令总结
lsof命令总结 https://www.cnblogs.com/chenqionghe/p/10677179.html 一.lsof是什么 lsof (list open files)是一个列出当前 ...