我正在写Selenium脚本.对于包含表格的html页面,我不能使用"css = table tr:nth-child(2)td:nth-child(3)a"来定位表中的链接.Selenium IDE给我"找不到[错误]定位器".
但是使用"css = table tr:nth-child(2)",它可以找到行.所以我误认为是css定位器,我认为添加"td:nth-child(3)a"应该适用于td中的链接,为什么不呢?
编辑:我使用的是Firefox 3.0.15
鉴于HTML:
<html>
<body>
<table>
<tr><td>Hello</td><td>World</td></tr>
<tr><td>I'm</td><td><a href="http://www.example.com/">Batman</a></td></tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您可以使用以下定位器作为第2行第2列中的链接:
css=tr:nth-child(2) > td:nth-child(2) > a
Run Code Online (Sandbox Code Playgroud)
更新:
经过一些研究后,您的原始定位器似乎应该可以工作,但不是由于Selenium使用的cssQuery库中的错误(http://jira.openqa.org/browse/SEL-698).我上面的建议有效,但它确实只是一个解决方法,直到错误修复.不幸的是,考虑到cssQuery已经有一段时间没有更新了,我不确定这个问题会在多久后得到解决.