我要打印第一个列表[电子产品]主菜单的子菜单文本 在硒的webdriver。 网址:https://www.flipkart.com 但是使用该sumMenu的xpath会有一些问题。 我该如何使用xpath和所有内容。
答案 0 :(得分:0)
您可以尝试使用以下x-path
来获取主菜单“电子”的所有子菜单
//span[.='Electronics']/following-sibling::ul//li/a
答案 1 :(得分:0)
尝试下面的代码。如果要获取其他子菜单文本,请更改String searchSubMenu = "Electronics";
的值,希望对您有所帮助。
driver.get("https://www.flipkart.com/");
//wait login popup and click
new WebDriverWait(driver, 20).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@class='_2AkmmA _29YdH8']")));
driver.findElement(By.xpath("//*[@class='_2AkmmA _29YdH8']")).click();
String searchSubMenu = "Electronics";
int totalSubMenu = driver.findElements(By.xpath("//*[contains(@class,'Wbt_B2')]")).size();
System.out.println("Search for : " +searchSubMenu);
for(int i=1; i<=totalSubMenu; i++) {
String getTextSubMenu = driver.findElement(By.xpath("(//*[contains(@class,'Wbt_B2')])[" +i +"]")).getText();
System.out.println("Get Sub Menu Title : "+ getTextSubMenu);
if (getTextSubMenu.equals(searchSubMenu)) {
driver.findElement(By.xpath("(//*[contains(@class,'Wbt_B2')])[" +i +"]")).click();
Thread.sleep(1000);
String targetAllGetText = driver.findElement(By.xpath("(//*[contains(@class,'_3GtRpC')])[" +i +"]")).getText();
System.out.println(targetAllGetText);
break;
}
}
driver.quit();
答案 2 :(得分:0)
它将为您提供帮助:请尝试 字符串SubMenu = driver.findElement(By.xpath(“元素的Xpath”))。getText(); System.out.println(SubMenu); 如果您想要大小: int Size = driver.findElement(By.xpath(“元素的Xpath”)); System.out.println(Size);