我正在尝试自动化网页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"))
它没有用,请为我提供解决方案。
答案 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);
}
在该子列表可见之后,您可以随意使用它。