2016-05-12 58 views
0

我有以下代码可以为已发布内容选择评分。但是,当我使用click()方法时,即使我给xpath选择num3星,它也会选择num1start。我尝试使用操作,仍然没有运气。 使用Mac机,硒的webdriver,爪哇,TestNG的无法使用Selenium Webdriver为内容选择评分

enter image description here

<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点击()方法的代码 - 选择所述第一星

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

2-使用操作 - Sill选择第一颗星

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(); 

我该如何正确选择星形元素?

回答

0

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

driver.findElement(By.xpath("//ul[@class='star-rating']/li[3]/a")).click(); 
+0

仍然选择1星:( – Sharmila

+0

好了,你可以给我你想的网页吗?如果它是一个公共一个只是给我的链接 –

+0

它在我的项目一个网页,我不能把它因为它需要用户证书。反正我用JavascriptExecutor来点击元素,这似乎工作正常 – Sharmila

相关问题