我正在尝试识别Advantage购物页面中显示的项目。我使用下面的属性来识别对象。对象识别中心识别多个对象,但我的脚本返回0
imgsCnt=browser.findChildren(WebElement.class,new WebElementDescription.Builder().className("ng-scope").tagName("LI").build());
System.out.println("# ItemsPresent : : "+imgsCnt.length);
网页网址:http://www.advantageonlineshopping.com:8080/#/category/5
我想使用' li'来识别可用的项目列表。元件。
答案 0 :(得分:0)
我设法重现了这个问题。
发生这种情况的原因是因为在检查(findChildren
)时,元素确实是"而不是#34; 。
为了获得所有元素,需要添加某种等待,以确保看到项目。
因此,以下代码现在可以正常工作,睡眠时间为5秒。 (Ofc应该应用另一个逻辑,这只是为了演示解决方案)。
public void test() throws Exception {
Browser browser = BrowserFactory.launch(BrowserType.CHROME);
browser.navigate("http://www.advantageonlineshopping.com:8080/#/category/Mice/5");
Thread.sleep(5000); // this was the key difference between cnt 0 and cnt 11
WebElement[] imgsCnt = browser.findChildren(WebElement.class, new WebElementDescription.Builder()
.className("ng-scope")
.tagName("LI").build());
System.out.println("# ItemsPresent : : "+imgsCnt.length);
browser.close();
}