使用javascript executor通过可见文本从下拉列表中选择元素

时间:2017-09-03 10:34:42

标签: javascript java selenium dropdown

我在Tor上使用selenium,我希望通过可见文本或部分文本从下拉列表中选择一个项目。 Select类没有工作导致firefox中的错误

所以这是我的代码:

Select dropdown = new Select(driver.findElement(By.id("serverLogin"))); //Selects my dropdown
dropdown.selectByVisibleText(server);   //Selects the server

我怎样才能使用javascript executor?

2 个答案:

答案 0 :(得分:0)

让我们尝试下面的代码,看看它是否有效 -

WebElement dropDownListBox = driver.findElement(By.id("serverLogin"));
((JavascriptExecutor)driver).executeScript("var select = arguments[0]; for(var i = 0; i < select.options.length; i++){ if(select.options[i].text == arguments[1]){ select.options[i].selected = true; } }", dropDownListBox, "blablabla");

答案 1 :(得分:0)

我解决了它创建一个下拉WebElement并向其发送第一个字母以选择我的选项,然后发送Enter键。 这是代码:

WebElement dropdown = driver.findElement(By.id("serverLogin")); 
        dropdown.sendKeys(server);  
        dropdown.sendKeys(Keys.ENTER);
无论如何,谢谢。