擅长:python、mysql、java
<p>为此,需要使用嵌套的XPath选择器。你知道吗</p>
<pre><code>//*[contains(text(), 'next') and a[contains(text(), 'part')]]
</code></pre>
<p>这将查询任何包含文本<code>next</code>的元素,然后还将检查该元素是否包含带有文本<code>part</code>的嵌套<code>a</code>元素。你知道吗</p>
<p>要确定是否确实存在嵌套的<code>a</code>标记,您需要为此编写一个方法来检查两个不同的xpath。没有简单的方法可以解决这个问题,除了评估元素,看看有什么。你知道吗</p>
<pre><code>public bool DoesElementHaveNestedTag()
{
// check for presence of locator with nested tag
// if driver.findElements returns > 0, then nested tag locator exists
if (driver.findElements(By.XPath("//*[contains(text(), 'next') and a[contains(text(), 'part')]]")).Count > 0) return true
else return false
}
</code></pre>
<p>你可以改变这个方法来满足你的需要,但想法是一样的。无法知道WebElement是否有嵌套标记,除非您尝试使用两个XPath查找WebElement—一个检查标记,另一个不检查标记。你知道吗</p>