我正在尝试使用XPath定位特定元素(对于我使用Selenium模块在Python中处理的脚本)。我在互联网上进行了查找,但是找不到解决我问题的方法,即:
有一个表,其中包含许多“ tr”。每个“ tr”由共享同一类(即“ Zelle”)的一对“ td”组成。我想找到一个满足两个条件的“ tr”。首先,它必须在一个td中包含文本“ auto”,然后必须在另一个td中包含文本“ Abge”,最后必须包含“ Tabelle”类的“ a”元素。
我写了这样的东西:
("//tr//td[@class='Zelle'][contains(.,'auto')]//following::td[@class='Zelle'][contains(.,'Abge')]//following::a[@class='Tabelle']")
但是当我在开发人员控制台中尝试时,我得到的所有带有td的tr都包含“ auto”(即使第二个td不包含“ Abge”)。
如何编写只返回带有“ auto”和“ Abge”的tr的语句?示例HTML:
<tr>
<td class="Zelle">auto</td>
<td class="Zelle">Abge</td>
<td class="Zelle">Some characters</td>
<td class="Zelle">
<a class="Tabelle" href="blablahblah.aspx?xxxx=Number"></a></td>
</tr>
<tr>
<td class="Zelle">auto</td>
<td class="Zelle">Abge</td>
<td class="Zelle">Some characters</td>
<td class="Zelle">
<a class="Tabelle" href="blablahblah.aspx?xxxx=Number"></a></td>
</tr>
<tr>
<td class="Zelle">auto</td>
<td class="Zelle">Some text(but no "Abge")</td>
<td class="Zelle">Some characters</td>
<td class="Zelle">
<a class="Tabelle" href="blablahblah.aspx?xxxx=Number"></a></td>
</tr>
<tr>
<td class="Zelle">some text (but not "auto")</td>
<td class="Zelle">Abge</td>
<td class="Zelle">Some characters</td>
<td class="Zelle">
<a class="Tabelle" href="blablahblah.aspx?xxxx=Number"></a></td>
</tr>
答案 0 :(得分:1)
尝试在XPath以下使用
join DSC in ctx.DocSubClasses on new { D.DocSubClass, DC.ID } equals new { DSC.ID, DSC.DocClassID}