【发布时间】:2019-05-12 11:12:42
【问题描述】:
代码:
<div class="content">
<div id="tab">
<div class="row">
<div class="col-sm-12">
<div>
<div>
<div>
</div>
<div>
<p><span>01</span></p>
<p class="className"><span id="">parent</span>
Child
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
“父”和“子”在同一个 p 标签中。我可以很容易地找到“父母”:
//*[@id="tab"]/div/div/div[1]/div[1]/div[2]/p/span
但无法单独定位“孩子”。
我尝试了下面提到的所有可能性,但没有用,
//*[@id="tab"]/div/div/div[1]/div[1]/div[2]/p/text()
//*[@id="tab"]/div/div/div[1]/div[1]/div[2]/p/text()[contains(.,'child')]
以上所有查询在在线编辑器中都可以正常工作,但是当我在 java ide 中运行它时,它显示“页面上没有元素”!
任何建议都会有所帮助!
【问题讨论】:
-
你能提供一个完整的java代码示例吗?我想你应该调用一些toolsqa.com/selenium-webdriver/wait-commands 命令。
-
好的,你能用 CSS 选择器试试这个吗,因为它们更干净并且避免了 XPath
-
没错,CSS选择器要容易得多,但我想在这种情况下,我们只能通过xpath来定位这个元素!因为它是与其他子标签结合的原始文本,在p标签内
-
@DebanjanB 不用于提取文本,将其精确的 DOM 位置提供给 selenium,以便它通过定位器直接导航到该位置(在本例中:xpath)!
标签: javascript java selenium selenium-webdriver webdriver