页面中多个一级菜单li的class相同,用Selenium怎么定位到具体的二级菜单
<li class="ant-menu-submenu-inline ant-menu-submenu"><div class="ant-menu-submenu-title" aria-open="false" aria-owns="1480588680996_0" aria-haspopup="true" style="padding-left: 24px;"> … </div>
<ul id="1480588680996_0" class="ant-menu ant-menu-inline ant-menu-sub ant-menu-hidden" role="menu" aria-activedescendant="" style=""> … </ul>
</li>
<li class="ant-menu-submenu-inline ant-menu-submenu">
<div class="ant-menu-submenu-title" aria-open="false" aria-owns="1480588680998_1" aria-haspopup="true" style="padding-left: 24px;"> … </div>
<!--
react-empty: 156
-->
</li>
C:\Users\Administrator\Desktop
代码类似于上面,就是li,div都相同的情况下,应该怎么定位到后面的div,用selenium IDE录制后,用的是xpath方法(driver.findElement(By.xpath("//div[@id='content']/div/div/div/div/ul/li/div/span/span")).click();),这样看着太长, 能否用cssSelector或者其他方法定位呢 可以通过xpath定位的,aria-owns不是不一样吗? 可以简化的,前提是aria-owns的值是固定不变和唯一的 求助 若尘_51 发表于 2016-12-2 08:50
可以通过xpath定位的,aria-owns不是不一样吗? 可以简化的,前提是aria-owns的值是固定不变和唯一的
aria-owns我试过通过div.class的值来定位,后来报错NoSuchElementException,我发现每次都是会变化的,因为使用xpath的话,代码是driver.findElement(By.xpath("//div[@id='content']/div/div/div/div/ul/li/div/span/span")).click();太长了,想知道能否用cssseletor来定位 t2107080 发表于 2016-12-2 09:45
aria-owns我试过通过div.class的值来定位,后来报错NoSuchElementException,我发现每次都 ...
没有使用过css。你问问别的大神~~
其实这没有必要,纠结长度吧~~
还可以写成:
xpath_value = "//div[@id='content']/div/div/div/div/ul/li/div/span/span"
driver.findElement(By.xpath(xpath_value)).click(); 若尘_51 发表于 2016-12-2 10:09
没有使用过css。你问问别的大神~~
其实这没有必要,纠结长度吧~~
嗯嗯。刚开始接触selenium,就来多问问了:lol
页:
[1]