Sikuli Java查找包含特定文本的选择选项
我试图使用Java中的Sikuli从select语句中单击一个特定选项 鉴于此select语句:Sikuli Java查找包含特定文本的选择选项,java,xpath,sikuli,Java,Xpath,Sikuli,我试图使用Java中的Sikuli从select语句中单击一个特定选项 鉴于此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 Tex
<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>
问题是字符串中总是有随机文本(本例中为i8df4),每次都会更改,因此我不知道该文本是什么
所以我想点击最后包含文本“更多文本”的选项。我看到有一个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']"
令人惊叹的!第一个答案正是我所需要的!我无法理解的部分是将句点作为第一个字符串放在CONTAINS中,该字符串将与找到的所有选项属性进行比较。仅供参考,value属性也是随机生成的(我忘了提到),所以这不起作用。
"//select[@name='mySelect']/option[@value='ab']"