2016-12-01 6 views
-1

リストweb要素をクリックすることができません。これはリストのHTMLです。私は管理タブをクリックする必要があります。セレクションのdivタグの要素をクリックする方法java

<ul id="ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList" class="TransactionLinksTab listitem-cursor-pointer"> 
    <li> 
     <div>Transactions</div> 
    </li> 
    <li> 
     <div>Restricted</div> 
    </li> 
    <li> 
     <div>Quotes</div> 
    </li> 
    <li> 
     <div>Admin</div> 
    </li> 
</ul> 

私はコード

driver.findElement(By.xpath("//*[@id='TransactionLinksTabContainer']/ul/li[3]/div")).click(); 

と試みたが、それはうまくいきませんでした。

返信いただきありがとうございます。しかし誰も働かなかった。 UIのweb要素はタブです。 UIには4つのタブがあります。その管理タブをクリックすると、要素の大きなリストが表示されます。 enter image description here

+0

質問の書式が更新されました。将来的には、コードとHTMLを4つのスペースでインデントして、読みやすいように適切にフォーマットしてください。 – JeffC

+0

コードが実行されたときに何が起きたかを明確にしてください...エラーメッセージが表示されるのはどうですか?該当する場合は、エラーメッセージ全体を含めてください。 – JeffC

答えて

0

あなたはhtmlを含めることができます。これはドロップダウンリストですか?それはリストやマウスオーバーを開くにはクリックですか?それについて考えると、私はユーザーとして何をしていますか?マウスオーバーの場合は、要素の上にマウスを移動します。最初にクリックしてメニューを開く必要がある場合は、まずそれを行います。要素をクリックするだけで、以下のようなことができます。私はもっ​​とC#の人ですが、以下のxpathが役に立ちます。

//div[text()='Admin'] 
+0

質問がある場合は、コメントで質問する必要があります。あなたの答えは答えのように見えなくなり、拡張されたコメントのようになります。 DIVにはLIではなく "Admin"という文字列が含まれているため、XPathを更新する必要があります。これは正確な文字列のマッチングであるため、 'contains()'は必要ありません。 – JeffC

+0

これを書いたとき、htmlは存在しませんでした。 XMLの修正。 – Dazed

+0

err xpath。他の何かで働いている汚染された十字を得た – Dazed

0

あなたのXPathはちょっとです。 XPathのIDがあなたが投稿したHTMLと一致しないので、他の親要素で開始したようです。代わりに、このXPathを試してみてください:

"//*[@id='ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList']/li/div[text()='Admin']" 

を私は、子孫をIDを修正し、text()を使用して「管理者」に正確な文字列の一致を追加しました。

+0

私はこれを試しましたが、どちらもうまくいきませんでした。 – Nagalatha

+0

どのように動作しませんでしたか?エラーメッセージまたは?このXPathは、指定したHTMLが正しい場合は正しいです。これでうまくいかなければ、より多くの調査を行い、より多くの情報を提供する必要があります。 – JeffC

0

これは動作するはずです:

driver.findElement(By.xpath( "// UL [ID @ = 'ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList'] //リー/ divの[テキスト()= '管理者']を")) 。クリック();

+0

@Ramnath。私はこれを試して、それは動作しませんでした。 – Nagalatha

関連する問題