2016-05-09 16 views
0

私は、次のリンクでの検索結果のリストを持っていると私はSelenium Webdriverを使用して検索結果内の個々のコントロールを特定する方法は?

http://www.bigbasket.com/cl/fruits-vegetables/?nc=nb

は、私が表示された製品名の一覧を取得することができるよダイナミックXPathを使用して、個々のコントロールを識別することができますどのように知っていただきたいと思います下の行、私は以下のコードを使用して1ページに表示された商品名を印刷することができるよ、しかし

List<WebElement> productResults = browser.findElements(By.xpath("//*[contains(@id,'product')]/div[2]/span[2]/a")); 

を使用して、リストの大きさは、私が見るので、1ページに表示された結果のリストと一致していませんがの間の空白行

System.out.println(productResults.size()); 
for(int i=0;i<productResults.size();i++){ 
     System.out.println(productResults.get(i).getText()); 
} 

はまた、私は追加し、私は製品名に位置しますが、リストのカウントは、私が数量を指定することはできませんどのように一致していないかのような類似したにボタンを追加し、こうした数量テキストボックスなど、個々のコントロールを探してみましたカートに必要な製品。

これで私を助けてください。

答えて

1

最初のステップは、あなたがこのXPathを使用することができますSOU、唯一目に見えるitensを(それが表示されている)を取得です:

"//*[contains(@id,'product')][not(contains(@style,'display:none'))]/div[2]/span[2]/a" 

は今、あなたが他のアセスを可能にする主なITENのdivを、返却する必要があります機能。あなたはこのようにタグの親を取得することができます:あなたは、この最後のXPathで受け取る

"//*[contains(@id,'product')][not(contains(@style,'display:none'))]/div[2]/span[2]/a/../../.." 

要素を持っているすべてのHTMLを使用すると、数量を設定して、あなたはそれぞれがfindElementを使用してアセスできるドロップダウンなどを選択し、したいことをitens ()をリストの各IWebElementに追加します。例:

List<WebElement> productResults = browser.findElements(By.xpath("//*[contains(@id,'product')][not(contains(@style,'display:none'))]/div[2]/span[2]/a/../../..")); 

for(WebElement element : productResults){ 

    IWebElement quantityInput = element.findElement(By.XPath("//input[contains(@id, '_qty')]")); 
    string quantityValue = quantityInput.getAttribute("value"); // if you want to know the current value. YOu can also parse it in an int 

    IWebElement addButton = element.findElement(By.XPath("//a[contains(@class, 'add-button')]")); 

    // etc to all elements inside element. 
    // Remember: Element is yout complete card of the item, that contains Value, name, image, buttons and all it. 
} 

Java構文エラーがあります。私はJava開発者/テスターではありません。私のケーキはC#です。

+0

こんにちはStriter Alfa、ありがとうございました。 xpathを使用してスペースなしでプロダクト結果を出力することができるようになりました// * [ div [2]/span [2]/a。しかし、添付の数量テキストフィールドを特定する方法、数量テキストフィールドとして特定の商品検索結果のボタンを追加する方法、および追加ボタンに固有のIDがあるかどうかはわかりません。私を助けてください。 –

+0

@SrinivasanRamu編集の説明があなたを助けたかどうか確認してください! –

+0

ありがとう。それが私を助けました。 –

関連する問題