java无法从嵌套对象获取属性
我花了很多时间试图解决这个问题,但我找不到一个可行的解决方案我做了几个小时的研究
我目前正在使用硒。页面本身是有角度的,但在本例中这应该不是问题
我试图将嵌套类存储到列表中,但我无法获得我用许多不同方法(如xPath、cssselector和innerHTML)尝试过的属性
下面是整个物体的图片
我认为从上到下的结构是这样的:
<div _ngcontent-sc11="" class="Stock-busses">
<div _ngcontent-sc11="" class="Stock-bussesList ng-tns-c11-6 isCards ng-star-inserted" style="">
<mysite-truck _ngcontent-sc11="" class="Stock-truck ng-tns-c11-6 ng-trigger ng-trigger-listItem ng-
star-inserted" _nghost-sc17="" style="">
<a _ngcontent-sc17="" class="Truck ng-star-inserted" href="null" style=""> (HERE IS WHERE the object begins)
这是我最喜欢的一个:
@Test
public void Search_certain_truck() {
List < WebElement > elements = driver.findElements(By.className("Stock-trucks"));
java.util.Iterator < WebElement > program = elements.iterator();
while (program.hasNext()) {
String values = program.next().getText();
if (!values.equals("null")) {
List < WebElement > elem = driver.findElements(By.xpath("//div[@class='class=\"Stock-trucksList ng-tns-c11-6 isCards ng-star-inserted"));
java.util.Iterator < WebElement > progz = elem.iterator();
while (program.hasNext()) {
String Truck_title = program.next().getText();
if (!Truck_title.equals("null")) {
System.out.println(Truck_title);
} else {
}
}
//System.out.println(values); //THIS WORKS TO ALERT LINE 666
} else {
}
}
}
我可以提醒第666行,但当我试图抓取嵌套的东西时,却一无所获
以下是atempt 2:
@Test
public static void myatempt2() {
List < String > TruckList = new ArrayList < String > ();
List < String > TruckHref = new ArrayList < String > ();
List < WebElement > x = driver.findElements(By.xpath("//div[@class='Stock-trucks']"));
Loc.NavXPath(Our_Truck);
Sa.WaitForBrowser(2000);
// List<WebElement> x= driver.findElements(By.cssSelector("volvo-truck"));
// List<WebElement> x= driver.findElements(By.className("volvo-truck"));
driver.findElement(By.xpath("//div[@class='Stock-trucks ui-draggable ui-draggable-handle']")).getAttribute("href");
for (WebElement webElement: x) {
// TruckList.add(webElement.getText());
// TruckList.add(webElement.getAttribute("innerHTML"));
System.out.println(webElement.getAttribute("innerHTML"));
// System.out.println(webElement.getText());
}
for (int counter = 0; counter < TruckList.size(); counter++) {
// System.out.println(TruckList.get(counter));
}
String FirstEl = TruckList.get(0);
}
我还是抓不到嵌套的对象
这里是指向页面的链接:Pastebin
# 1 楼答案
我已经解决了这个问题,但我并不在乎如何储存各种物品:)