0

我有以下代码来选择已发布内容的评级。但是当我使用 click() 方法时,即使我给 xpath 选择 num3 星,它也会选择 num1start。我尝试使用 Actions,但仍然没有运气。使用 Mac 机器、Selenium Webdriver、Java、TestNG

在此处输入图像描述

<ul class="star-rating">
   <li onmouseout="showPreset()" onmouseover="hidePreset()">
       <a class="num1-stars" title="Rate this 1 stars out of 5" onclick="return submitNumRating("1");" href="#"></a>
   </li>
   <li onmouseout="showPreset()" onmouseover="hidePreset()">
       <a class="num2-stars" title="Rate this 2 stars out of 5" onclick="return submitNumRating("2");" href="#"></a>
   </li>
   <li onmouseout="showPreset()" onmouseover="hidePreset()">
       <a class="num3-stars" title="Rate this 3 stars out of 5" onclick="return submitNumRating("3");" href="#"></a>
   </li>
   <li onmouseout="showPreset()" onmouseover="hidePreset()">
       <a class="num4-stars" title="Rate this 4 stars out of 5" onclick="return submitNumRating("4");" href="#"></a>

下面是我尝试 1-click() 方法的代码 - 选择第一颗星

driver().findElement(By.xpath("//ul[@class=\"star-rating\"]/li/a[@class=\"num3-stars\"]")).click();

2- 使用动作 - 窗台选择第一颗星

Actions actions = new Actions(driver);
WebElement star = getDriver().findElement(By.xpath("//ul[@class=\"star-rating\"]/li/a[@class=\"num3-stars\"]"));
actions.moveToElement(star);
actions.click().perform();

我应该怎么做才能正确选择星元素?

4

1 回答 1

0

试试下面的代码,让我知道。

driver.findElement(By.xpath("//ul[@class='star-rating']/li[3]/a")).click();
于 2016-05-13T04:48:42.057 回答