使用Selenium(Java),当下拉列表元素具有有限的可识别属性时,如何从下拉列表中选择值?
我试图使用Selenium从下拉列表中选择一个值,我尝试了所有可能的方法(据我所知),但都没有成功。 请帮我在这里找到合适的方法
以下是HTML代码,供参考:
<select name="list" onchange="this.disabled=true;if(this.options[selectedIndex].value == '')this.disabled=false;else optionselect(this);" onfocus="hint('')">
这些就是我尝试过的方法
方法1:
new Select(driver.findElement(By.xpath("xpath"))).selectByVisibleText("Text*");
new Select(driver.findElement(By.name("list"))).selectByVisibleText("Text");
方法2:(我尝试使用所有可能的方法通过名称、abs-xpath、rel-xpath、cssSelector等来识别下拉元素,但没有任何方法可以识别该元素)
Select sel = new Select(element);
sel.selectByValue("Value");
Thread.sleep(5000);
方法3:
Select sel = new Select(element);
sel.selectByIndex(11);
Thread.sleep(5000);
方法4:
Select select = new Select(driver.findElement(By.name("list")));
select.selectByVisibleText("Text");
我猜上述所有方法的问题都在于识别下拉元素。但我真的不确定这里出了什么问题
# 1 楼答案
试试下面的
# 2 楼答案
也许你会有一些运气使用行动
(使用Firefox或Chrome,即做悬停动作时表现怪异)