【问题标题】:Click an element based on attribute单击基于属性的元素
【发布时间】:2014-11-04 21:18:59
【问题描述】:

我有这个代码:

<div class="menuFamille" idcat="1025">
    <div class="menuFamilleButton   on ">item 1</div>
</div>

<div class="menuFamille" idcat="1026">
    <div class="menuFamilleButton   on ">item 2</div>
</div>

我不知道如何在 CasperJS 中单击带有idcat="1025" 的第一个 div。我应该使用 XPath 吗?

【问题讨论】:

  • 是的,我想点击“.menuFamilleButton on”,但使用 idcat="xxx",有可能吗?谢谢
  • 是的,我是拉老的朋友!你记性很好!

标签: xpath click css-selectors casperjs


【解决方案1】:

只需使用属性选择器 (CSS)。不需要 XPath 表达式,但我会添加它以进行比较:

casper.click(".menuFamille[idcat='1025'] > .menuFamilleButton");

casper.click(x("//*[contains(@class, 'menuFamille') and @idcat='1025']/*[contains(@class, 'menuFamilleButton')]"));

【讨论】:

  • 我敢说你的 XPath 表达式有问题。 ] 出现得太早 - 不允许使用类似 ]/contains( 的内容。
  • 感谢您的帮助和解释 +1 @ArtjomB。
  • 其实还有一个错字:@idcat - 我冒昧编辑了。
  • @Mathias 谢谢。很久没有写 XPaths 了。
  • 我用的是第一种方案。
猜你喜欢
  • 2019-10-18
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
  • 1970-01-01
  • 2017-12-03
  • 2021-12-23
  • 1970-01-01
  • 2019-06-05
相关资源
最近更新 更多