Guys私はSelenium Automationを学んでいます。Selenium Javaを使用して別のulタグ内のテキストを印刷するには
私は以下のようにウェブサイトを設計しました。
私のHTMLコード:
<!DOCTYPE html>
<html>
<head><title>Shop</title></head>
<body>
<ul>
<li><a href="www.rendertofruitsection.com">Fruits</a>
<ul>
<li><a href="www.addbananatocart.com">» Banana</a></li>
<li><a href="www.addappletocart.com">» Apple</a></li>
<!--List goes on-->
</ul>
</li>
<li><a href="www.redertovegsection">Vegetable</a>
<ul>
<li><a href="www.addcapcicumtocart">» Capsicum</a></li>
<li><a href="www.addtomatotocart.com">» Tomato</a></li>
<li><a href="www.addoniontocart">» Onion</a></li>
<!--List goes on-->
</ul>
</li>
<li><a herf="www.nonveglink.com">Non Veg Section</a></li>
<!--List goes on-->
</ul>
</body>
</html>
当初、私はJavaのセレンを使用して<a>
タグ内に提示されたすべてのテキストを一覧表示することを計画。
私はこのコードを以下に書いています。
私のJavaコード:私が得た、必要に応じ何
public class shop
{
public static void main(String[] args)
{
WebDriver driver= new ChromeDriver();
driver.get("www.myshopping.com");
List<WebElement> text= driver.findElements(By.xpath("//a"));
for(int i=0;i<text.size();i++)
{
System.out.println(i+". "+text.get(i).getText());
}
}
}
出力:
はOutput what I got: | Output What I need:
1. Fruits | 1. Fruits
2. | 2. Banana
3. | 3. Apple
4. Vegetable | 4. Vegetable
5. | 5. Capsicum
6. | 6. Tomato
7. | 7. Onion
8. Non Veg Section | 8. Non Veg Section
Guysは単にセレンJavaを使用して、内側<ul>
その<li>
タグ内のテキストを取得する方法を、少しヒントを教えてください。
私はこれをいくつか試しましたが、私はここにこだわっています。
public class shop
{
public static void main(String[] args)
{
WebDriver driver= new ChromeDriver();
driver.get("www.myshopping.com");
List<WebElement> text= driver.findElements(By.xpath("//li[ul]/a"));
for(int i=0;i<text.size();i++)
{
System.out.println(i+". "+text.get(i).getText());
WebDriverWait wait = new WebDriverWait(i, 10);
List<WebElement> innerText = wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath(".//following-sibling::ul//a[text()]")));
for(int j=0; j<text.size(); j++)
{
System.out.println(i+". "+j+". "+text.get(j).getText());
}
}
}
}
このコードは私にあなたが探しているすべてのテキストを与えた:リンクをたどる
CSSセレクタ参考:それはちょうど、ロケータの変更です。また、0から7までの数字を教えてくれました。***正確な***コードと出力を提供してください。 – Guy
'getAttribute(" innerText ")'は私のケースで動作します。ありがとうございました – Srini