<ul> <li class="active"> <a href="#"> <i class="fa fa-home"></i><br> <span class="title">Home</span> </a> </li> <li> <a href="#"> <i class="fa fa-rss-square"></i><br> <span class="title">Posts</span> </a> </li> <li> <a href="#"> <i class="fa fa-calendar"></i><br> <span class="title">Events</span> </a> </li> <li> <a href="#"> <i class="fa fa-bar-chart-o"></i><br> <span class="title">My Activity</span> </a> </li> <li> <a href="#"> <i class="fa fa-edit"></i><br> <span class="title">Assessments</span> </a> </li> </ul>
我想找到相应的span元素。我想使用css选择器检查span元素的顺序。因此,当我使用Selenium IDE时,我将按照以下方式进行验证(使用第n个子概念)。
verifyText | css = .title:nth(0)| 首页 verifyText | css = .title:nth(1)| 帖子 verifyText | css = .title:nth(2)| 事件 verifyText | css = .title:nth(3)| 我的活动 verifyText | css = .title:nth(4)| 评估
但是,当我在Selenium WebDriver中执行相同的操作时,无法按照我使用Selenium IDE进行的顺序来定位元素。
以下是我在WebDriver中使用的代码,它可以正常工作。
driver.findElement(By.cssSelector(".title:nth(0)")); // to locate the "Home" element driver.findElement(By.cssSelector(".title:nth-of-type(0)")); // to locate the "Home" element driver.findElement(By.cssSelector(".title:nth-child(0)")); // to locate the "Home" element
谁能帮我。
您可以从生成CSS选择器ul一样ul > li:nth-child(1)回家。见下文:
ul
ul > li:nth-child(1)
driver.findElement(By.cssSelector("ul > li:nth-child(1)")); >> home driver.findElement(By.cssSelector("ul > li:nth-child(2)")); >> posts driver.findElement(By.cssSelector("ul > li:nth-child(3)")); >> events
到达范围也相同:
driver.findElement(By.cssSelector("ul > li:nth-child(1) > a > span")); >> home