selenium判断元素类型

在做级联的下拉框时发现第一次选择了下拉框(如省份),第二个下拉框可能是输入框,也可能是下拉框,这个时候就需要判断他的元素类型,来做判断

图1

图2

原理很简单:获取控件的html文件内容,拿到内容后在做判断

图1的html元素为:

<input type="text" name="province" class="choiceCountry inputText long js_choiceState" value="">

图2的html元素为:

做法:

WebElement elem = driver.findElement(By.cssSelector("#addressfrom > ul > li:nth-child(7) > div > div"));
String province = elem.getAttribute("innerHTML"); #获取他的html文件
if (province.contains("select")) {
op.getSelect("province", 20).selectByIndex(1);// 给下拉框赋值
} else {
op.loopSendKeysClean("province", "chengdu", 3, 20); 给文本文件输入值
}
时间: 2024-10-21 07:16:21

selenium判断元素类型的相关文章

python selenium判断元素是否存在的问题

爬虫的时候经常用到这个,找到了一个比较好用的方法 原文链接:http://blog.csdn.net/u012189659/article/details/36391837 背景:selenium+python处于学习阶段,功能实现之后开始整理之前写的代码,突然发现一个功能没有做判断,比如,点击"请登录",需要判断一下这个弹出框到底弹了没有,这样就需要判断某个元素是否存在,使用is_displayed函数只能用于该元素存在去判断此元素是否出现,而不能判断某个元素是否存在,所以就自己写了

自动化测试——Selenium+Python判断元素是否可见,及元素未出现时设置超时时限

自动化测试中,有时可以根据某元素是否出现(即可见)来进行断言,判断元素是否可见的方法如下: from selenium.webdriver.support import expected_conditions as EC def is_element_visible(self, element): driver = self.driver try: the_element = EC.visibility_of_element_located(element) assert the_element

js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array.prototype.sameStructureAs ,会有下面的结果: [1,1].sameStructureAs([2,2]) // true [1,[1,1]].sameStructureAs([2,[2,2]]) // true [1,[1]].sameStructureAs([[2],2]

selenium常用的API(七)判断元素是否可见

web页面不可见的元素虽不在页面上显示,但是存在于DOM树中,这些元素webdriver也能找到. element.is_displayed()方法可以判断元素是否在页面上显示,如果显示返回True,否则返回False. 用于测试的HTML代码: <html> <head> <title>HTML中显示与隐藏元素</title> <meta http-equiv="Content-Type" content="text/h

判断元素16种方法expected_conditions

前言 标签(空格分隔): 判断元素 经常有小伙伴问,如何判断一个元素是否存在,如何判断alert弹窗出来了,如何判断动态的元素等等一系列的判断,在selenium的expected_conditions模块收集了一系列的场景判断方法,这些方法是逢面试必考的!!! expected_conditions 一般也简称为EC,本篇先介绍下有哪些功能: 一.功能介绍和翻译: title_is:判断当前页面的title是否完全等于(==)预期字符串,返回是布尔值 title_contains 判断当前页面

selenium 常见元素操作:三大等待

selenium 常见元素操作 三大等待 三大切换(iframe,window,alert) 下拉列表 鼠标和键盘 js+ dom应用() 上传操作 强制等待:time.sleep()        (译:私立破) 必须等待固定时间后才可以往下运行 from selenium import webdriver import time # 强制等待需要导入time,使用其中的sleep方法 # 强制等待 sleep(译:私立破) # 打开谷歌浏览器,建立会话.启动Chromedriver.exe

js判断浏览器类型

js判断浏览器类型  <script type="text/javascript" >     <!--   function getOs()   {       var OsObject = "";      if(isIE = navigator.userAgent.indexOf("MSIE")!=-1) {           return "MSIE";      }      if(isFiref

JAVA判断各种类型数据是否为空

1.判断list是否为空(Map.Set同list) if(list != null && list.size() == 0){ } if(list != null && !list.isEmpty()){ } list!=null:判断是否存在list,null表示这个list不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常. list.isEmpty():判断list里是否有元素存在 list.size():判断list里有几个元素 所以判断list里

javascript判断元素存在和判断元素存在于实时的dom中的方法

今天(周六)下午我在公司加班时不知道要干什么,就打开公司的一个wordpress项目网站,想看下之前自己做的一个网页是否有问题. 打开网站首页,我习惯性的打开了chrome的调试工具,然后鼠标开始滚动页面,然后问题就出来了:页面无法向下滚动,调试工具的console里报了好多undefined的错误. 我马上意识到是我写的js代码错误的在首页被执行导致的问题,我的代码大致是这样: 1 if ($('#a')) { 2 // some code ... 3 $('#b').doSomething;