下拉框 遇见的有两类:
第一类:select标签下拉框
实例:携程网首页 酒店选择是select标签下拉框形式。
源代码如下:
<select id="searchHotelLevelSelect" name="Star">
<option value="0"selected="selected">不限</option>
<option value="5">五星级/豪华</option>
<option value="4">四星级/高档</option>
<option value="3">三星级/舒适</option>
<option value="2">二星级以下/经济</option>
</select>
针对select标签的下拉框处理步骤:
1.对下拉框进行操作时,首先要定位到这个下拉框2.new 一个Selcet对象,此对象就是你要操作的下拉框,然后对它进行操作。Java测试代码:以 selectByIndex 为例3.通过调用select对象封装好的方法来进行选择
三种封装好的方法
1) selectByIndex(3) 通过下拉列表中选项的“索引”来选中我们需要选中的选项
2) selectByValue(“3”) 通过下拉列表选项中option的value属性选中想要选择的值
3) selectByVisibleText(“三星级/舒适“) 通过下拉列表选择的课件文本选择需要选中的值,即:option的 text的值
注:下拉框的index从0开始。index为3时,代表三星级/舒适
WebElement element = driver.findElement(By.id("searchHotelLevelSelect")); Select select = new Select(element); select.selectByIndex(3);
补充:
这个是遍历所有的选项,最终选择结果是随机的:
Select select = new Select(driver.findElement(By.id("searchHotelLevelSelect")));for(WebElement e: select.getOptions())e.click();
第二类:非select 下拉框
实例: 自如官网
源码:
![]()
打开官网时,下拉框不显示出来:
![]()
鼠标点击合租,下拉框显示出来:
![]()
根据下拉框的这种变化,1,首先要把下拉框显示出来,2,才能进行元素定位.
driver.findElement(By.id("searchTxt")).click(); //显示下拉框
driver.findElement(By.xpath(".//*[@id='searchType']/span[2]")).click(); //元素定位