2016-05-31 45 views
-2

親(grand-grand-parent)要素のidを取得しようとしています。ロボットフレームワーク:要素のxpathを取得するには?

私が持っているすべての情報は、// div [@ class = "preset_name"]は "all"です。それを知って、私は "preset_3"(文字列として)をRobot Frameworkキーワードのいずれかを使って検索する必要があります。 どうすればいいですか?それとも、「すべて」の完全なxpathを得るには?

<table id="preset_list"> 
 
    <tbody> 
 
    <tr id="preset_0"> 
 
     <td> 
 
     <div class="preset_title_line"> 
 
      <div class="preset_button_group"> 
 
      <button class="preset_button">Apply</button> 
 
      </div> 
 
      <div class="preset_name">Factory default</div> 
 
     </div> 
 
     <div class="preset_sections">System, Network, Sources, EDID, Channels, Automatic File Upload, Touch screen, Output ports</div> 
 
     </td> 
 
    </tr> 
 
    <tr id="preset_1"> 
 
     <td> 
 
     ...

+1

:、イメージとしてXML/HTML(またはコードのいずれかの種類)を投稿することはありませんしてください。代わりにテキストを投稿してください。後者は、人々がXPathをテストするためにそれを使用できるので、より便利です。ありがとう – har07

+0

あなたが試したことを私たちに教えてください。これは単純なxpath式で解決できる比較的単純な問題のように見えます。 –

答えて

0

あなたのXPathは次のようになります。

Get Element Attribute xpath=(//div[@class="preset_name"][text()='all']/../../..)@id 

(私はロボットを使ったことがないが、私はそれが正しいsintaxだと思います)

+0

"Get Element Attribute"の後に空白がありません。このロボット構文では、キーワードと引数は2つ以上のスペースで区切られています。 –

+0

@BryanOakleyありがとう、コードを修正しました –

+0

@StriterAlfaありがとうございました! –

0

あなたはtrをフィルタリングすることができます//div[@class="preset_name"] = "all"が含まれていて、対応するid属性を返します。

//tr[.//div[@class='present_name'] = 'all']/@id 
+0

ありがとうございました! –

0

"relative xpath helper chrome extension"を使用していると簡単です。 OPへ

https://www.linkedin.com/pulse/finding-relative-xpath-made-easy-syam-sasi?trk=prof-post

+0

答えとしてリンクを掲示する代わりに、この回答が現在の問題を修正する際にOPにどのように役立つかを説明にテキストを追加してください。ありがとう –

+0

そのリンクでよく説明されています。 –

関連する問題