Selenium:值与可见文本之间的差异

时间:2016-06-28 12:18:55

标签: selenium-webdriver drop-down-menu

有人可以告诉我Selenium中selectByValue和selectByVisibleText方法之间的区别是从下拉菜单中选择一个项目吗?

2 个答案:

答案 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进行选择。