dalekjs单击包含文本的链接

时间:2014-05-09 08:38:08

标签: dalekjs

我想要做的是从列表中获取一个元素。 我想在链接中获取文本,如果它包含正确的文本,请单击链接。 这是html代码:

<table>
     <tr>
        <td><a href='...'>I need help</a></td>
        <td><a href='...'>Oh hello</a></td>
        <td><a href='...'>Lorem ipsum</a></td>
     </tr>
</table>

我试过了:

.click('table > tr > td > a:contains("I need help")')

但由于某种原因,它不起作用。

我不能用这个:

.click('table > tr > td:nth-child(1) > a)

因为随着网站变大,会添加更多tr标签。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

首先,您的HTML代码有点扭曲; a必须是元素的孩子,而不是周围的方式。我建议阅读有关元素的MDN文档。

关于你与Dalek的问题; Dalek使用它执行的浏览器的CSS选择器引擎。这将在未来发生变化(由Sizzle替换为统一的选择器引擎),但我没有估计这个未来究竟是什么。

关于:contains()伪选择器 - 据我所知,这已经消失了。目前的CSS3规范已删除它&amp;因此,您无法在Dalek选择器中使用它。

答案 1 :(得分:0)

我找不到检查链接文字的方法,但如果你知道href,请尝试使用它

.click('a[href="uniqueURL"]')