首页 > 解决方案 > WebdriverIO - 选择器中的 OR 逻辑运算符

问题描述

我在我的项目中使用Webdriver IO 。我有以下代码:

<div>
   <section id="my-section">
      {oneVariable && <p>enumVal1</p>}
      {someVariable && <p>enumVal2</p>}
      {anotherVariable && <a href="someSite">{anotherVariable}</a>}
   </section>
</div>

有没有通过 WebdriverIO 的简单方法来检查枚举(enumVal1enumVal2)是否存在?

我尝试了以下方法,但这不起作用:

$('#my-section').$('p*=enumVal1, p*=enumVal2').isExisting()

问题是这个选择器没有用 OR 运算符处理这些值。是否有捷径可寻?

标签: javascriptjqueryselectorwebdriver-io

解决方案


似乎 webdriverIOs 元素定位器不允许带有 css OR 条件(,)的部分链接文本选择器(* =)。您可以使用 xpath 来实现这一点,但它有点混乱。

$('#my-section').$(//p[text()="enumVal1"] | p[text()="enumVal2"]);
 

推荐阅读