我们在使用selenium进行web自动化测试时,有时候会遇到元素被隐藏,从而无法对元素进行操作,导致我们的用例报错的情况。当我们遇到元素被隐藏的情况时,需要先对隐藏的元素进行处理,才能继续进行我们的操作,本文就为大家介绍一下如何使用selenium处理隐藏的元素。
在HTML中,由于页面美化和用户交互的需求,元素隐藏的使用非常常见,比如下拉菜单、内容折叠、对话框以及上传文件框等。隐藏常见有以下几种表现形式:
处理隐藏元素通常涉及到以下几个步骤:
以下是一个示例代码,演示如何使用Selenium处理隐藏元素。在这个示例中,我们将使用一个简单的网页来模拟一个隐藏的按钮,并点击该按钮。代码如下:
pythonfrom selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get('https://example.com/hidden-button.html')
# 使用JavaScript来显示隐藏按钮
button = driver.find_element(By.ID, 'hidden-button')
driver.execute_script('arguments[0].style.display = "block";', button)
# 现在可以点击按钮
button.click()
# 关闭浏览器
driver.quit()
在上面的示例中,我们首先找到隐藏按钮元素,然后使用execute_script方法将按钮的CSS属性display设置为block,以使其可见。然后,我们可以点击按钮。
注:如果元素是通过JavaScript动态加载的,则需要等待元素加载完成后再进行操作,以避免出现定时问题。
本文主要介绍了selenium处理隐藏元素的方法,处理隐藏元素是我们工作中经常需要面对的情况,希望本文可以帮到大家。
霍格沃兹测试开发学社|免费学习资料大放送,助你事半功倍! - 公众号 - 测试人社区
、跳出新页面:
<basetarget=”_blank”>target="_self"不跳转
<form action="xxx.htm" target="_blank">form表单提交的跳转设置
2、点击按钮跳出别的页面添加
<a href="#" onclick="openZoosUrl();return false;">
onclick="return false"
3、display:block;块级元素,也就是说它可以设置一些宽高,独占一行,比如,div元素,p元素等display:inline-block,行级元素,也就说它可以使得同样设置成行级元素的元素一起在一行,然后可以设置宽高,这个适应于制作一个导航菜单,将每个菜单项设置成行级元素。它的宽和高默认是内容的宽和高,典型的元素是表单类的元素。dispaly:inline.行级元素,不可设置宽和高,默认宽高是内容的宽和高,典型的比如,span,
4、html鼠标小手:
cursor:pointer;
5、html背景图属性:
background-size:100%;,但是你的图片宽度,高度要设置成100% ,要注意的是.php的文件里面这个background-image:url();不好用,失效,你要使用网站的绝对路径background:url('/20151106/404/image/404.png') no-repeat 4px 5px;}background:url("11111.jpg");background-repeat:no-repeat;background-size:100%;width:100%;height:100%;
这个是给页面加背景的body{padding: 0px;margin: 0px;background-color:#494949;width:100%;height:100%;}.
还有在设置背景图片的时候可以使用背景background-image:url("");这个属性来设置背景,但是图片要用gif的格式
6、按输出方式来显示文本格式:<pre></pre>横线:<hr /><q></q>双引号标签下划线<ins></ins>
7、html---position/relative/absolute/fixed/三种布局定位方式的总结relative是按照自身来说,absolute是按照浏览器来说,但是要注意的是,如果他有父级元素的话,那么他就是依照父级元素来进行改变位置的。
8、无序列表去掉前面黑点li{list-style:none;}
9、隐藏元素 - display:none或visibility:hidden
display-这个元素,设置之后原本的元素不会占用当前的空间,不会影响布局,但是后者,隐藏之后还会占用空间
10、HTML隐藏多余
Div{overflow:hidden}
10、隐藏自适应:overflow:auto;
11、关于框架的问题
这个是接受你要显示页面
indx.php是框架显示的页面,最上面,也就是没按键显示
<iframe src="index.php" style="width:100%;height:100%;border:none " name="main"></iframe>
这个是你点击之后想在哪显示后面加:target=""
<a href='../admin/shopclass/add.php' target="main">添加分类</a>
12、关于背景的高的问题,也就是说你定义了一个div但是没有搞,是为了让你的图片在上面。那么就有这个属性了
overflow:hidden;
也就是你本身是属于父级元素的,但是你float就脱离了文本,变成浮动的,所有就不会在用父子元素的空间,所以就父级加上这个overflow:hidden;
13、锚点的设置
在你想跳转的页面的地方加上:<a name="miao">
然后在你想加链接的地方加上<a href="#miao">去找锚点</a>
14.点击换验证码图片
<img src="../public/common/yzm.php" alt="" style="cursor:pointer" onclick="this.src='../public/common/yzm.php?rand='+Math.random()">
15、圆角
border-radius:5px;
16、textarea的左侧文字在最左边
style="vertical-align:top"
17、html块状元素和内联元素的总结,块状元素可以设置margin,但是使用margin的时候要符合:1.块状元素,2.有宽高,其中内联元素不能设置margin和宽高的属性,只能设置padding
*请认真填写需求信息,我们会在24小时内与您取得联系。