繁体   English   中英

Sikuli Java查找包含特定文本的选择选项

[英]Sikuli Java find a select option that contains specific text

我试图在Java中使用Sikuli从select语句中单击特定选项。

鉴于以下选择语句:

<select name="mySelect">
  <option value="ab">AB 273xc Some Text</option>
  <option value="cd">CD i8df4 Some More Text</option>
  <option value="ef">EF q43th And Text Once More</option>
</select> 

如果我知道该选项中包含的完整文本,则可以进行以下操作:

driver.findElement(By.xpath("//select[@name='mySelect']/option[.='CD i8df4 Some More Text']")).click();

问题在于,字符串中始终存在随机文本(在这种情况下为i8df4),该文本每次都会更改,因此我不知道该文本是什么。

因此,我想单击最后包含文本“ Some More Text”的选项。 我看到有一个CONTAINS函数,但是在这种情况下(即使可以使用),我不知道该如何使用。

因此需要在选项部分中进行某种模式匹配或正则表达式,例如:

option[.='do pattern match here looking for Some More Text']

要测试一部分文本的值,可以使用contains() 因此,您可以尝试以下操作:

"//select[@name='mySelect']/option[contains(.,'Some Text')]"

但我认为最好使用value属性:

"//select[@name='mySelect']/option[@value='ab']"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM