Xpath到具有两个不同的元素包含文本

时间:2015-11-25 10:05:15

标签: html xpath robotframework

我有下一个HTML,我有这个xpath来查找"显示":

xpath=//*[@id="Some_id"]/div/table/tbody/tr/td[contains(text (), "Show")] 

它有效,但我需要找到" Show"一个特定项目,在这个" Main"项目,所以我需要这样的smth:

xpath=//*[@id="Some_id"]/div/table/tbody/tr/td[contains(text (), "Show")]/preceding-sibling::td[contains(text (), "Main")] 

但它不起作用。感谢

<tr class="even">
                    <td title="Main">
                          <a href="Stuff_1"><strong>Main</strong></a>
                    </td>
                    <td>
                      text/html
                    </td>
                    <td>
                      Another text
                    </td>
                    <td>
                      Some text here
                    </td>
                    <td>
                      No
                    </td>
                    <td>

                          <a href="Stuff_1_a">Show</a>
                    </td>
                  </tr>

2 个答案:

答案 0 :(得分:2)

您可以尝试使用此xpath。这将首先选择包含特定tr的{​​{1}}元素,然后选择所需的td代码。

a

编辑:此xpath适用于OP

"//tr[@class='even' and td[@title='Main']]/a[text()='Show']"

答案 1 :(得分:1)

你想找到&#34;显示&#34;属于&#34; Main&#34;在表中排。

这就是我要做的事情

xpath=//td[@title='Main']/following-sibling::td[contains(text(), 'Show')]

有关xpath轴的更多信息:http://www.w3schools.com/xsl/xpath_axes.asp