我要做的就是从列表中获得一个元素。我想把文本在一个链接和点击链接,如果它包含正确的文本。这是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标签。
有什么想法吗?
首先,你的HTML代码有点扭曲;A必须是元素的子元素,而不是反过来。我建议阅读有关元素的MDN文档。
关于你和戴立克的问题;Dalek使用它执行的浏览器的CSS选择器引擎。这将在未来改变(被Sizzle作为一个统一的选择引擎取代),但我不知道这个未来到底会是什么时候。
关于:contains()伪选择器-据我所知,这已经消失了。当前的CSS3规范已经删除了它&因此你不能在你的Dalek选择器中使用它
我找不到一种方法来检查链接文本,但如果你知道href,试着用它来代替
.click('a[href="uniqueURL"]')