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

如果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()方法可以选择想要选择的下拉选项。

转载于:https://www.cnblogs.com/nageshihou/p/7286325.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值