selenium+java初级学习笔记之下拉菜单定位

上一篇 / 下一篇  2017-08-04 17:58:21 / 个人分类:selenium

如果F12之后发现下拉菜单为类似这种类型即select标签写的:

<select class="u1" id="area">
<option value="">&nbsp;</option>
<option value="beijing">朝阳区</option>
<option value="tianjin">丰台区</option>
<option value="shanxi">西城区</option>
</select>

那么我们的代码应为:

driver.get(url);
Select select = new Select(driver.findElement(By.id("areaID")));//找到元素
select.selectByVisibleText("北京市");//通过text
Thread.sleep(1000);
select.selectByIndex(2);//通过index
Thread.sleep(1000);
select.selectByValue("shanxi");//通过value
Thread.sleep(1000);

 

如果我们F12后页面下拉菜单不是select那么我们就需要用传统的元素定位方式进行定位:

<form. action="" method="post">
<div id="divselect">
<cite>请选择特效分类</cite>
<ul style="display: none;">
<li><a href="javascript.:;" selectid="1">导航菜单</a></li>
<li><a href="javascript.:;" selectid="2">下拉select</a></li>
<li><a href="javascript.:;" selectid="3">select</a></li>
<li><a href="javascript.:;" selectid="4">DIVCSS5</a></li>
<li><a href="javascript.:;" selectid="5">jquery </a></li>
</ul>
</div>
<input name="" type="hidden" value="2" id="inputselect">

</form>

那么我们的代码可以这么来实现:

driver.get(url);

WebElement id = driver.findElement(By.id("divselect")); id.click();

Thread.sleep(2000);

//WebElement web = id.findElement(By.cssSelector("li ~ li"));

//WebElement web = id.findElement(By.cssSelector("div#divselect li:nth-of-type(3)"));

WebElement web = id.findElement(By.cssSelector("[selectid='1']"));

web.click();

Thread.sleep(2000);

以上是cssSelector的几种元素定位方式,click()方法可以选择想要选择的下拉选项。


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-03-27  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 5504
  • 日志数: 6
  • 建立时间: 2016-05-24
  • 更新时间: 2017-08-23

RSS订阅

Open Toolbar