任何人都可以建议xpath表达式使用值' DRIVE_20150917-162707' DRIVE_20150917-162707'来找到以下节点。 ?
var request = gapi.client.analytics.management.filters.insert(
{
'accountId': accountId,
'resource': {
'name': filterName,
'type': 'LOWERCASE',
'lowercaseDetails': {
'field': "Hostname"
}
}
});
答案 0 :(得分:0)
不确定问题是什么,你尝试了什么?以下内容:
//h4[@ext:qtip="DRIVE_20150917-162707"]
将在文档中找到值h4
的所有ext:qtip="DRIVE_20150917-162707"
元素。与任何名称空间一样,必须确保正确绑定。如果你不能或不知道如何,你可以试试这个:
//h4[@*[local-name() = 'qtip'][. ='DRIVE_20150917-162707']]
更新:显然,Selenium now allows namespace prefixes和according to the source(或者更好,current version),它们会根据给定的前缀自动注册它们。他们警告你,它不适用于Android。
不确定它是当前的稳定分支,不确定它们的修复是否也适用于命名空间中的属性,但是您在下面的注释中提到的问题有不同的原因(即,您的文档根本不包含该节点)。看一下Firepath在浏览器中试用它,它应该和Selenium一样。
只需点击链接,我就创建了一个小小的演示。如果你仍然卡住,那么please give a minimal example that demonstrates the wrong behavior。
根据您在下面的评论,您说它适用于local-name() = 'ext:qtip'
,属性节点上的表达式local-name()
将返回前缀和本地名称。这可能是MDN saying that the namespace axis is not supported的结果,也可能是this bug report never implemented的结果(具体见Michael Sperberg-McQueen's comment #28)。
这是一个奇怪的错误,因为description of local-name()
at MDN明确遵循官方XPath标准的描述,并没有提到不兼容性。
我发现了另一个奇怪的错误。至少在使用Firepath(下面使用Firefox XPath)时,我在HTML5文档的html
元素上得到了以下结果:
<!DOCTYPE html>
<html xmlns:my="http://other">
<head>
<title></title>
</head>
<body my:other="Yes, in another world!">
<p>Hello world!</p>
</body>
</html>
local-name(//*[1])
返回“html”,正确name(//*[1])
返回“HTML”,不正确 namespace-uri(//*[1])
返回“http://www.w3.org/1999/xhtml”,更正,但不符合name()
返回的内容local-name(//body/@*[1])
返回“我的:其他”,不正确 name(//body/@*[1])
返回“我的:其他”,正确local-name(//body/@*[1])
返回“”(空字符串),不正确 我尝试使用和不使用名称空间声明,它没有任何区别。这显然是Firefox处理命名空间中的一个错误,不确定它是否已被报告(除了已经提到的错误报告之外,无法轻易找到错误报告)。其他浏览器也可以这样做,甚至是正确的,我只用Firefox测试过。
考虑到Firefox中所有这些奇怪的行为,明显的解决方法是使用@*[local-name() = 'ext:qtip']
。要使这种跨浏览器友好且符合标准,请使用:
//h4[@*
[local-name() = 'ext:qtip'
or (local-name() = 'qtip'
and namespace-uri() = 'fill-in-proper-ns-uri'
)]
[.="DRIVE_20150917-162707"]
答案 1 :(得分:0)
问题在于冒号(&#34;:&#34;)字符。 使用css选择器,你可以找到
h4[ext\:qtip~=DRIVE_20150917-162707]
答案 2 :(得分:0)
这里提到的xpath非常适合我
// [@ [本地名称()=&#39; EXT:qtip&#39;] [=&#39;暂时&#39;]]。这个xpath用于