如何使用js和selenium检查Select web元素是否包含某些文本?

时间:2016-02-03 17:00:21

标签: javascript java scala selenium selenium-webdriver

我是一个隐藏的下拉网页元素,目前我无法隐藏并按价值选择:

val js: JavascriptExecutor = driver.asInstanceOf[JavascriptExecutor]
js.executeScript("$('.select-upload_company_id>.center').html(" + someInt + ")") //visible one
js.executeScript("$('#company_id option[value=\"" + someInt + "\"]').eq(1).attr('selected','selected')") 

现在,这完美无缺,但现在我想通过可见文本选择元素......

所以我尝试做类似的事情:

val js: JavascriptExecutor = driver.asInstanceOf[JavascriptExecutor]
js.executeScript("$('.select-upload_company_id>.center').html(" + "Test" + ")") //visible one
js.executeScript("$('#company_id option[contains=\"" + "Test" + "\"]').eq(1).attr('selected','selected')")

但它不起作用......是否有人知道它为什么起作用或者有更好的解决方案?我正在使用scala进行编程,但java解决方案也可以。

谢谢!

1 个答案:

答案 0 :(得分:1)

jQuery contains选择器应该像#company_id option:contains("Test")

一样编写

所以:

$('#company_id option:contains("Test")').eq(1)...

Codepen:http://codepen.io/anon/pen/dGqXzG