我正在使用每個元素的 XPath 遍歷網站上的元素。
//*[@id="app"]/div[1]/main/div[2]/section/div/section/div[4]/div[1]/div[X]
X values:從1 to n. 其中 X 是元素的序數。
xpath.getText()給我當前商品的名稱和價格。我也想下載圖片。影像的類名不是唯一的。每個元素都一樣:“ shop-card__image-block”。
如何shop-card__image-block為每個元素訪問“ ”?我想獲取圖片的鏈接并下載帶有名稱和價格的圖片。
查看圖片。
第一張圖片
第二張圖片
uj5u.com熱心網友回復:
使用element.findElement(By by)或element.findElements(By by)獲取子元素。請參閱https://www.tutorialspoint.com/locating-child-nodes-of-webelements-in-selenium。
uj5u.com熱心網友回復:
代碼 :
WebDriverWait wait = new WebDriverWait(driver, 30);
int divSize = driver.findElements(By.xpath("//*[@id='app']/div[1]/main/div[2]/section/div/section/div[4]/div[1]/div")).size();
for (int i = 1; i<= divSize; i ) {
WebElement parentDiv = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='app']/div[1]/main/div[2]/section/div/section/div[4]/div[1]/div['" i "']")));
WebElement image = parentDiv.findElement(By.xpath(".//descendant::div[contains(@class,'shop-card__image-block')]"));
// now image is a web element, you can perform a click on it like image.click(); or any other operation.
}
現在影像是一個網路元素,你可以像點擊它image.click();或任何其他操作一樣執行它。
相信這有幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/350240.html
