2016-10-27 11 views
0

私は、次のこのWebElementが完全なxpathを返さないのはなぜですか?

List<WebElement> customers = driver.findElements(By.xpath("//div[@id='Customers']/table/tbody/tr")); 
System.out.println(customers.size()); 

を実行するとを印刷するであろうと、いくつかのWebElementsなどがあります。

それでは、なぜ次のコード

List<WebElement> customers = driver.findElements(By.xpath("//div[@id='Customers']/table/tbody/tr")); 

for (WebElement customer : customers) { 
    if (customer.getText().equals("SQA")) { 
     WebElement test = customer; 
     System.out.println(test); 
     break; 
    } 
} 

印刷xpath: //div[@id='Customers']/table/tbody/trと実際のパスの特定のインデックスを含めるに失敗していますか?上記のxpathはまったく役に立たない。 SQAが見つかりました。

xpath: //div[@id='Customers']/table/tbody/tr[4]

答えて

2

私はそれだけの要素を見つけるために使用されるロケータを出力と思います。インデックスが必要な場合は、コードを

List<WebElement> customers = driver.findElements(By.xpath("//div[@id='Customers']/table/tbody/tr")); 
for (int i = 0; i < customers.size(); i++) 
{ 
    if (customers.get(i).getText().equals("SQA")) 
    { 
     System.out.println(i); 
     break; 
    } 
} 
に変更してください
関連する問題