我正在使用 selenium 测试我的 Web 应用程序,并且可以使用By.xpath
. 但是有时我需要在该节点中找到子节点。
例子:
<div id="a">
<div>
<span />
<input />
</div>
</div>
我可以:
WebElement divA = driver.findElement( By.xpath( "//div[@id='a']" ) )
但现在我需要找到输入,所以我可以这样做:
driver.findElement( By.xpath( "//div[@id='a']//input" ) )
但是,在代码中我只有divA
,不再是它的 xpath ......我想做这样的事情:
WebElement input = driver.findElement( divA, By.xpath( "//input" ) );
但是这样的功能是不存在的。我可以这样做吗?
顺便说一句:有时我需要找到一个<div>
具有某个后继节点的节点。如何在 xpath 中询问“<div>
包含<span>
带有文本的 a 'hello world'
”?