Selenium IDE:想要在不同窗口中打开链接的X路径,但所有广告的ID,类,标识符都相同

时间:2012-10-09 12:08:28

标签: xpath selenium selenium-rc selenium-ide

如何在同一页面上为多个广告链接编写X-path,并且没有唯一ID和唯一名称来区分HTML代码,我在下面写了,请为“点击”广告提供独特的价值并打开广告新窗口,因为所有广告都有class =“ad”且价值是动态的,请帮我解决,因为我想逐个打开所有广告并验证数据 我只展开了两个广告,所有其他广告都已弃用

示例:

<div class="result hlisting">

<div class="result hlisting">

<div class="info">

<h2>

#11856006:

<a class="ad" href="http://www.performancecars.ca/index.php/details/11856006/2009-Toyota-Camry.html">2009 Toyota Camry</a>

</h2>

<span class="price"> 14.584 CAD </span>

<p class="address">

<b>Date: </b>

2012-10-09 13:29:01 

</p>

</div>

<p class="description">

<p class="data">

<div class="clear"> </div>

<hr>

</div>

<div class="result hlisting">

<div class="result hlisting">

<div class="info">

<h2>

#11930827:

<a class="ad" href="http://www.performancecars.ca/index.php/details/11930827/2010-Mazda-MAZDA3.html">2010 Mazda MAZDA3 GS ONE OWNER, SU.</a>

</h2>

<span class="price"> 14.200 CAD </span>

<p class="address">

</div>

<p class="description">

<p class="data">

<div class="clear"> </div>

<hr>

</div>

<div class="result hlisting">

<div class="result hlisting">

5 个答案:

答案 0 :(得分:0)

您可以使用链接名称 -

link, '2009 Toyota Camry' 
link, '2010 Mazda MAZDA3 GS ONE OWNER, SU.'

答案 1 :(得分:0)

List<WebElement> allLinks=driver.findElements(By.className("ads"));
for(WebElement e:ele)
{
    e.click();  //click on ad link
    //do your operations on particular ad page
    //go to home page again
}

上述逻辑将点击该页面上的每个可用链接。

答案 2 :(得分:0)

我会尝试使用css选择器:

String toyotaCss = "a[href='http://www.performancecars.ca/index.php/details/11856006/2009-Toyota-Camry.html']"
String mazdaCss="a[href='http://www.performancecars.ca/index.php/details/11930827/2010-Mazda-MAZDA3.html']";

希望这适合你

答案 3 :(得分:0)

对于链接,你可以通过写, link ='链接的文字'......工作正常

答案 4 :(得分:0)

如果您知道链接的文字,可以尝试类似

的内容
selenium.click(selenium.getAttribute("//*[text()='" + link + "']/ancestor::a@href") + " _blank");

要在新窗口中打开,您需要将_blank附加到href。

如果您想点击页面中的所有链接,无论文本是什么,只需迭代xpath计数

selenium.click(selenium.getAttribute("xpath=(//a)[" + iterator + "]@href") + " _blank");