以下元素的 XPath 是什么



我需要在下面找到以下元素的 XPath:

<a> href="/resident/register/">Register another device </a>

我以为解决方案是

$x("//*[contains(@href, 'resident/register')]")

但这一无所获。有什么想法吗?

您的 HTML 格式不正确。

改变

<a> href="/resident/register/">Register another device </a>

<a href="/resident/register/">Register another device </a>

然后,您的 XPath 将按预期工作。

如果您的 HTML 是固定的,那么您必须调整 XPath 以测试元素内容而不是href属性内容:

//a[contains(.,'resident/register')]

但是,尽管这可以选择格式错误的a元素,但由于它缺少适当的href属性,因此无法单击。

首先@kjhughes确定了 HTML 的一个问题,即 HTML 格式不正确,因为您必须尝试根据您的理解提供正确的 HTML

我想实际的HTML如下:

<a href="/resident/register/">Register another device </a>

因此,元素的有效 XPath 可以是以下任一:

  • 经验:1

    "//a[contains(@href, '/resident/register') and contains(.,'Register another device')]"
    
  • 经验值:2

    "//a[contains(@href, '/resident/register') and normalize-space()='Register another device']"
    

最新更新