使用CasperJS中的CSS3选择器按文本选择元素

时间:2013-04-25 18:09:58

标签: css css3 css-selectors phantomjs casperjs

我正在使用CasperJS的test class进行功能测试,似乎无法通过文本值选择元素。我的目标是检查一类div是否可见,然后检查它是否具有我期望的值。

我尝试过使用CaspersJS' selector page中提到的CSS3选择器,但一定是做错了。以下所有工作都不适用于我(全部包含在""中):

  • div#myid[text()='sometext']
  • div#myid[text='sometext']
  • div#myid[text=sometext]
  • div#myid:contains('sometext')
  • div#myid:contains(sometext)

关于如何根据文本值选择特定元素的任何指示?

2 个答案:

答案 0 :(得分:4)

尝试:

var x = require('casper').selectXPath;
this.test.assertExists(x('//*[@id="myid"][text()="sometext"]'), 'the element exists');

答案 1 :(得分:1)

感谢上面的评论 - 我最终通过CasperJS测试中的evaluate()调用来使用jQuery(因为它正在客户端加载)。