选择id为的href和使用xpath的类
假设我有这样的DOM:选择id为的href和使用xpath的类,xpath,Xpath,假设我有这样的DOM: <div id="tabsmenu"> <ul> <li class="one"><a href="'#foo" class="ui-tabs-anchor" id="tab1"></a>foo</li> <li class="two"><a href="#baz" class="ui-tabs-anchor" id="tab2">baz
<div id="tabsmenu">
<ul>
<li class="one"><a href="'#foo" class="ui-tabs-anchor" id="tab1"></a>foo</li>
<li class="two"><a href="#baz" class="ui-tabs-anchor" id="tab2">baz</a> </li>
</ul>
</div>
如何使用xpath
并在id
中使用组合id
和具有特定类的元素
已尝试:
some_doc.xpath('//a[@id="tabsmenu"]/[@class="ui-tabs-anchor"]/@href')
# select all href tags of any a element that is in id tabsmenu and class attribute ui- tabs-anchor
编辑-将选项卡菜单
更正为选项卡菜单
您很可能正在查找以下内容:
//div[@id='tabsmenu']//a[@class='ui-tabs-anchor']/@href
这将获得所有href
属性,这些属性是ui选项卡锚定的ui标签的一部分,以及id为tabsmenu的div
元素的一部分
您可能还想看看这个问题:
这是因为类将匹配准确的值(ui-tabs-anchor
),可能会在那里添加一些额外的类,例如class=“ui-tabs-anchor-disabled”
,然后那里就不会有匹配了。我猜foo实际上应该在a
标记中,对吗?此外,id不是tabsmenu
,而是tabmenu
,而且ui-tabs-anchor
应该是ui-tab-anchor
。另外,href
元素的文本不是foo
和baz
,而是rahter'#foo
和#baz
。您的问题中有很多错误…感谢您的反馈-它已更新。是的,foo
在a标记中。嗯,我在检查此解决方案时得到了这一点::选项是:无效表达式://///xmlns:div[@id=“tabsmenu”]//xmlns:a[@class=“ui-tabs-anchor”]/xmlns:
xpath很好,我已经对其进行了测试。这一定是编程语言的问题。那只是一个HTML页面吗?
//div[@id='tabsmenu']//a[@class='ui-tabs-anchor']/@href