有人可以告诉我Selenium中selectByValue和selectByVisibleText方法之间的区别是从下拉菜单中选择一个项目吗?
答案 0 :(得分:4)
selectByValue将返回所有选项,其值属性集与您的参数ex:
匹配<强>的java:强>
WebElement element = driver.findElement(By.name("Countries"));
Select s = new Select(element);
s.selectByValue("america");
<强> HTML:强>
<select name="Countries"><option selectd> Please select</option>
<option value="brasil">Brazil</option>
<option value="portugal">Portugal</option>
<option value="am">America</option>
<option value="america">United States</option>
</select>
这将选择:<option value="america">United States</option>
selectByVisibleText显示与给定参数匹配的文本的所有选项:
<强>的java:强>
WebElement element = driver.findElement(By.name("Countries"));
Select s = new Select(element);
s.selectByVisibleText("Brasil");
<强> HTML:强>
<select name="Countries"><option selectd> Please select</option>
<option value="brasil">Brasil</option>
<option value="portugal">Portugal</option>
<option value="am">America</option>
<option value="america">United States</option>
</select>
这将选择:<option value="br">Brasil</option>
答案 1 :(得分:1)
https://www.seleniumeasy.com/selenium-tutorials/webdriver-select-methods-to-work-with-dropdowns
这给出了详细的解释。如果您使用selectbyvalue,它将根据属性&#39;值&#39;
进行选择如果您使用selectbyVisibleText,它将根据选项标记的innertext进行选择。