我对xpath和selenium都是新手,我需要能够根据天气点击链接硒,或者不能将跨度作为特定文本点击。示例代码是:
<div>
<span>Fri</span>
<ul>
<li>
<a href=#></a>
</li>
</ul>
</div>
<div>
<span>Sat</span>
<ul>
<li>
<a href=#></a>
</li>
</ul>
</div>
我的xpath是//*[text()[contains(.,'Fri')]]
找到正确的跨度,现在我想我可以使用//*[text()[contains(.,'Fri')]]../ul/li/a
但是这不起作用。
有什么想法吗?
答案 0 :(得分:3)
Selenium IDE命令将是:
command: click
target : //span[contains(text(),'Fri')]/following::a
来自here:
以下::树中上下文节点之后的所有节点, 排除任何后代,属性节点和命名空间节点。
请注意,您可能不会在xpath表达式的末尾写[1]
以从所有匹配项中选择第一个节点,因为selenium IDE默认情况下会这样做。
当您使用IDE时,您也可以使用更容易阅读的css选择器:
command: click
target : css=span:contains('Fri')+ul a
至于你的初始xpath,你在../
之前错过了一个斜杠:
//*[text()[contains(.,'Fri')]]/../ul/li/a