我无法为正在编写的程序找到合适的XPath。 XML是这样的:
<root>
<div class"XYZ">
<div>
<div class = "abc">
<a class = "important">Important Information - 1</a>
</div>
<div class = "abc">
<a class = "important">Important Information - 2</a>
</div>
<div class = "abc">
<a class = "important">Important Information - 3</a>
</div>
</div>
</div>
</root>
所以,正如你所看到的,我需要去上一个课程&#34; XYZ&#34;在那个班里有很多名为&#34; abc&#34;的班级。实际上,课程前面有更多<div>
&#34; abc&#34;。
我需要获得所有重要信息 - X&#34;。
我的想法是
FindElements(By.XPath("//*[contains(@class,'XYZ')]/*[contains(@class,'important')]");
为什么我不能只搜索班级的问题=&#34;重要的&#34;本身就是,文档中还有另一部分,它具有相同的类名,但我不需要这些信息。只有班级&#34; XYZ&#34;。
当我只使用:
FindElements(By.XPath("//*[contains(@class,'XYZ')]");
它有效,但我也得到了很多不重要的信息,因为<div>
中有更多东西。
答案 0 :(得分:1)
评论中建议的一个解决方案是
FindElements(By.XPath("//*[contains(@class,'XYZ')]//*[contains(@class,'important')]");