Selenium webdriver-当所有产品都具有相同类别时如何选择产品(amazon.in)

时间:2014-11-08 05:56:09

标签: xpath selenium-webdriver product

我正在尝试自动化amazone.in。我想点击特定产品。但在Amazon.in中,所有产品都有相同的类别。

产品1

<h2 class="a-size-medium s-inline s-access-title a-text-normal">Puma Men's Storm Ind Mesh Running Shoes</h2>

产品2

<h2 class="a-size-medium s-inline s-access-title a-text-normal">Nike Men's Eliminate Ii Mesh Running Shoes</h2>

我该怎么办?

以下是我的代码

 driver.manage().window().maximize();
       driver.get("http://amazon.in");
       driver.findElement(By.id("twotabsearchtextbox")).sendKeys("shoes");
       driver.findElement(By.id("twotabsearchtextbox")).submit();
       driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
       driver.findElement(By.xpath("//h2[@class='a-size-medium s-inline s-access-title a-text-normal']")).click();

是否可以使用&#39;标题&#39;点击元素标记

1 个答案:

答案 0 :(得分:2)

您可以通过将产品名称添加到xpath中来解决此问题,以缩小范围。

driver.findElement(By.xpath("//h2[@class='a-size-medium s-inline s-access-title a-text-normal' and contains(text(), \"Nike Men's Eliminate Ii Mesh Running Shoes\")]")).click();

上面的代码将点击第一个产品。您只需替换产品名称并使用它来点击相关产品。