在主链接下填充链接时出现问题,Selenium Webdriver

时间:2013-07-05 09:22:24

标签: java selenium-webdriver

我正在尝试自动化网页http://www.quikr.com, 在主页面中,他们列出了手机,电子产品和电子产品类别。技术等。

我想点击其中一个链接,如Electronics&技术并获取List中的所有链接。

我无法填充我的arraylist因为我正在尝试的定位器正在抛出错误

我试过给

List<WebElement>link_boxes=driver.findElements(By.xpath("//[@id='divExpand18222212654']"));

List<WebElement> link_boxes=driver.findElements(By.id("divExpand18222212654"))

它没有用,请为我提供解决方案。

2 个答案:

答案 0 :(得分:1)

您应该能够使用以下CSS表达式检索标识为div的{​​{1}}元素下的链接:

divExpand18222212654

答案 1 :(得分:0)

你可以使用这样的东西

public void showSubLinksListByName(String name) {
    String linkSelectorTemplate = ""//span[.='%s']";
    String subListSelectorTemplate = "div#%s";

    WebElement link = driver.findElement(
            By.xpath(String.format(linkSelectorTemplate, name)));
    String id = link.getAttribute('id').replace("chpCategoryExpand", "");

    By subCategoriesLinksSelector = By.css(
              String.format(subListSelectorTemplate, id));

    new WebDriverWait(driver, 60).until(
         ExpectedConditions.visibilityOfElementLocated(subCategoriesLinksSelector);
}

在该子列表可见之后,您可以随意使用它。