我正在尝试导航的页面中有一系列嵌套元素。下面的html是简化版本:
<div>
<h1 id="This is an id">The header is an identifier</h1>
<table>
<tr></tr>
<tr>
<ul>
<li>
<a>
<span>This my target</span>
</table>
</div>
<h1>Also text</h1>
<a>
<span>This target has the same text<span>
顶级div的结构非常显着。我试图找到一个使用xpath和文本包含的元素。但是,我无法验证目标确实是正确div中的目标。如果我不知道每次都知道它的确切布局,有什么办法可以按比例缩放dom树吗?
答案 0 :(得分:1)
您可以尝试使用CSS选择器进行>
操作。
示例:要访问"This my target"
,请使用
driver.findElement(By.cssSelector("li>a>span"));
答案 1 :(得分:0)
为了检查div中的文本,您可以构成如下路径:
//div//*[contains(text(), 'my text')]
如果您需要检查特定div内部,则应首先识别div。
例如,如果div具有类似class="my_class"
的属性,则使用:
//div[@class='my_class']//*[contains(text(), 'my text')]
上找到更多路径示例