我需要在下面的以下元素中找到XPath:
<a> href="/resident/register/">Register another device </a>
我认为解决方法是
$x("//*[contains(@href, 'resident/register')]")
但是这什么也没返回。有什么想法吗?
答案 0 :(得分:1)
您的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
属性,因此无法点击。
答案 1 :(得分:0)
首先,@ kjhughes指出了 HTML 的问题之一,即 HTML格式错误,因为您必须根据自己的理解尝试提供正确的HTML。< / p> 我认为
实际的 HTML 如下:
<a href="/resident/register/">Register another device </a>
因此该元素的有效 XPath 可以是以下任意一项:
XPath:1
"//a[contains(@href, '/resident/register') and contains(.,'Register another device')]"
XPath:2
"//a[contains(@href, '/resident/register') and normalize-space()='Register another device']"
答案 2 :(得分:-1)
您可以右键单击chrome上的元素,然后复制XPath。
在Chrome上,检查>右键单击您的元素>复制XPATH